type=page
status=published
title=Eclipse GlassFish Server Upgrade Guide, Release 5.1
next=loe.html
~~~~~~
Eclipse GlassFish Server Upgrade Guide, Release 5.1
===================================================

[[contents]]
Contents
--------

[[list-of-examples]]
link:loe.html[List of Examples]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[[list-of-tables]]
link:lot.html[List of Tables]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[[title-and-copyright-information]]
link:title.html[Title and Copyright Information]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[[preface]]
link:preface.html#gkbei[Preface]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* link:preface.html#ghpbz[GlassFish Server Documentation Set]
* link:preface.html#giprl[Related Documentation]
* link:preface.html#fwbkx[Typographic Conventions]
* link:preface.html#fquvc[Symbol Conventions]
* link:preface.html#ghpfg[Default Paths and File Names]

[[glassfish-server-upgrade-compatibility-issues]]
link:upgrade-compatibility-issues.html#abmaq[1 GlassFish Server Upgrade Compatibility Issues]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* link:upgrade-compatibility-issues.html#gjwpd[Binary-Compatible Releases
For GlassFish Server 5.1]
* link:upgrade-compatibility-issues.html#gkric[New Default Installation
Directory]
* link:upgrade-compatibility-issues.html#gklhr[Changes to Group
Management Service Settings]
* link:upgrade-compatibility-issues.html#geyyk[Application Client
Interoperability]
* link:upgrade-compatibility-issues.html#gktad[Node Agent Support]
* link:upgrade-compatibility-issues.html#gkrjm[HADB and `hadbm` Command
Support]
* link:upgrade-compatibility-issues.html#abmbc[Command Line Interface:
The `asadmin` Command]

** link:upgrade-compatibility-issues.html#abmbd[Deprecated `asadmin`
Subcommands]

** link:upgrade-compatibility-issues.html#abmbf[Deprecated, Unsupported,
and Obsolete Options]
* link:upgrade-compatibility-issues.html#gflnv[Applications That Use Java
DB]
* link:upgrade-compatibility-issues.html#gjizi[Applications That Use
Persistence]
* link:upgrade-compatibility-issues.html#gjiqj[HTTP Service to Network
Service Changes]

** link:upgrade-compatibility-issues.html#gipsa[Changes to Dotted Names]

** link:upgrade-compatibility-issues.html#giprg[Changes to `asadmin`
Subcommands]

** link:upgrade-compatibility-issues.html#gipfo[Remapping of HTTP Service
Attributes and Properties]

** link:upgrade-compatibility-issues.html#gipcg[New Network Service
Elements and Attributes]
* link:upgrade-compatibility-issues.html#gktkt[NSS Cryptographic Token
Support]

[[upgrading-an-installation-of-application-server-or-glassfish-server]]
link:upgrading-legacy-installation.html#abmbq[2 Upgrading an Installation of Application Server or GlassFish Server]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* link:upgrading-legacy-installation.html#gaejc[Upgrade Overview]

** link:upgrading-legacy-installation.html#gkxum[Upgrade Paths]

** link:upgrading-legacy-installation.html#gdkiw[Upgrade Terminology]

** link:upgrading-legacy-installation.html#gktcb[Summary of Upgrade Tools
and Procedures]
*** link:upgrading-legacy-installation.html#gktdx[Summary of Tools for
Performing an Upgrade]
*** link:upgrading-legacy-installation.html#gktdz[Summary of Procedure
for Upgrading With Upgrade Tool]
*** link:upgrading-legacy-installation.html#gktcl[Summary of Procedure
for Upgrading With Update Tool]
*** link:upgrading-legacy-installation.html#gkuef[Summary of Procedure
for Upgrading With the Software Update Notifier]
*** link:upgrading-legacy-installation.html#gktnb[Summary of Procedure
for Upgrading With the `pkg` Utility]

** link:upgrading-legacy-installation.html#gjxkx[Supported Releases for
Upgrade to GlassFish Server 5.1]

** link:upgrading-legacy-installation.html#gkufi[Upgrading From Version
8.x or Older Product Releases]

** link:upgrading-legacy-installation.html#gkxrp[Upgrading GlassFish
Server Inside a Closed Network]
* link:upgrading-legacy-installation.html#abmbr[Performing a Side-By-Side
Upgrade With Upgrade Tool]

** link:upgrading-legacy-installation.html#gktgx[Upgrade Tool Summary]

** link:upgrading-legacy-installation.html#gdkix[Upgrade Tool
Functionality]
*** link:upgrading-legacy-installation.html#gebrv[Migration of Deployed
Applications]
*** link:upgrading-legacy-installation.html#gebqm[Upgrade of Clusters]
*** link:upgrading-legacy-installation.html#gebvn[Upgrade Verification]

** link:upgrading-legacy-installation.html#gktjn[To Upgrade From the
Command Line Using Upgrade Tool]

** link:upgrading-legacy-installation.html#gaejn[To Upgrade Using the
Upgrade Tool Wizard]
* link:upgrading-legacy-installation.html#gkthu[Performing an In-Place
Upgrade With the Update Center Tools]

** link:upgrading-legacy-installation.html#gkthx[Update Center Tool
Procedures]

** link:upgrading-legacy-installation.html#gktjf[To Upgrade Using the
Update Tool GUI]

** link:upgrading-legacy-installation.html#gkuhu[To Upgrade Using the
Software Update Notifier]

** link:upgrading-legacy-installation.html#gktks[To Upgrade From the
Command Line Using the `pkg` Utility]
* link:upgrading-legacy-installation.html#gktnh[Upgrading Installations
That Use NSS Cryptographic Tokens]

** link:upgrading-legacy-installation.html#gktnq[To Prepare for the
Upgrade]

** link:upgrading-legacy-installation.html#gktlz[To Perform Post-Upgrade
Configuration]

** link:upgrading-legacy-installation.html#gktlp[To Upgrade PKCS#11
Hardware Tokens]
* link:upgrading-legacy-installation.html#gfybw[Upgrading Clusters and
Node Agent Configurations]

** link:upgrading-legacy-installation.html#gkyda[Overview of Cluster and
Node Agent Upgrade Procedures]

** link:upgrading-legacy-installation.html#gktle[To Correct the
Configuration of a Node After an Upgrade]

** link:upgrading-legacy-installation.html#gktkx[To Re-Create a Cluster]
* link:upgrading-legacy-installation.html#gkrfh[Correcting Potential
Upgrade Problems]

** link:upgrading-legacy-installation.html#gkrgh[Cluster Profile Security
Setting]

** link:upgrading-legacy-installation.html#gkrib[Cluster Profile Upgrade
on Windows]

** link:upgrading-legacy-installation.html#gkyho[`asupgrade` Fails
Without Internet Connection]
