Eclipse GlassFish Quick Start Guide,
Release 7
Eclipse GlassFish
Quick Start Guide
Release 7
Contributed 2018 - 2024
This book demonstrates key features of the Eclipse GlassFish product and enables you to quickly
learn the basics. Step-by-step procedures introduce you to product features and Eclipse GlassFish 7
Quick Start Guide Eclipse GlassFish 7 Quick Start Guide you to use them immediately.
Eclipse GlassFish 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.
1
Preface
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 Eclipse GlassFish 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 Eclipse GlassFish (Eclipse
GlassFish) documentation set.
Eclipse GlassFish 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 Eclipse GlassFish 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 Eclipse GlassFish source code and to contribute to the
development of the Eclipse GlassFish. The GlassFish project is designed to encourage
communication between Oracle engineers and the community.
The following topics are addressed here:
Eclipse GlassFish Documentation Set
Typographic Conventions
Symbol Conventions
Eclipse GlassFish Documentation Set
The Eclipse GlassFish documentation set describes deployment planning and system installation.
For an introduction to Eclipse GlassFish, refer to the books in the order in which they are listed in
the following table.
Book Title Description
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.
Quick Start Guide Explains how to get started with the Eclipse GlassFish product.
Installation Guide Explains how to install the software and its components.
2
Book Title Description
Upgrade Guide Explains how to upgrade to the latest version of Eclipse GlassFish.
This guide also describes differences between adjacent product
releases and configuration options that can result in incompatibility
with the product specifications.
Deployment Planning Guide Explains how to build a production deployment of Eclipse GlassFish
that meets the requirements of your system and enterprise.
Administration Guide Explains how to configure, monitor, and manage Eclipse GlassFish
subsystems and components from the command line by using the
asadmin utility. Instructions for performing these tasks from the
Administration Console are provided in the Administration Console
online help.
Security Guide Provides instructions for configuring and administering Eclipse
GlassFish security.
Application Deployment
Guide
Explains how to assemble and deploy applications to the Eclipse
GlassFish and provides information about deployment descriptors.
Application Development
Guide
Explains how to create and implement Java Platform, Enterprise
Edition (Jakarta EE platform) applications that are intended to run
on the Eclipse GlassFish. 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.
Embedded Server Guide Explains how to run applications in embedded Eclipse GlassFish and
to develop applications in which Eclipse GlassFish is embedded.
High Availability
Administration Guide
Explains how to configure Eclipse GlassFish to provide higher
availability and scalability through failover and load balancing.
Performance Tuning Guide Explains how to optimize the performance of Eclipse GlassFish.
Troubleshooting Guide Describes common problems that you might encounter when using
Eclipse GlassFish and explains how to solve them.
Error Message Reference Describes error messages that you might encounter when using
Eclipse GlassFish.
Reference Manual Provides reference information in man page format for Eclipse
GlassFish administration commands, utility commands, and related
concepts.
Message Queue Release
Notes
Describes new features, compatibility issues, and existing bugs for
Open Message Queue.
Message Queue Technical
Overview
Provides an introduction to the technology, concepts, architecture,
capabilities, and features of the Message Queue messaging service.
Message Queue
Administration Guide
Explains how to set up and manage a Message Queue messaging
system.
3
Book Title Description
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).
Message Queue Developer’s
Guide for Java Clients
Provides information about concepts and procedures for developing
Java messaging applications (Java clients) that work with Eclipse
GlassFish.
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.
Typographic Conventions
The following table describes the typographic changes that are used in this book.
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.
Symbol Conventions
The following table explains symbols that might be used in this book.
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.
4
Symbol Description Example Meaning
${ }
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.
5
1 Quick Start for Basic Features
Eclipse GlassFish provides a server for the development and deployment of Java Platform,
Enterprise Edition (Jakarta EE platform) applications and web technologies based on Java
technology. Eclipse GlassFish 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:
About This Quick Start Guide
Default Paths and File Names
Default Administration Values
Starting and Stopping the Default Domain
Starting and Stopping the Database Server
Starting the Administration Console
Deploying and Undeploying Applications
High Availability Clustering and Load Balancing
For More Information
About This Quick Start Guide
Eclipse GlassFish 7 Quick Start Guide demonstrates key features of the Eclipse GlassFish 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 Eclipse GlassFish 7 software.
For more information about installing Eclipse GlassFish 7, see the Eclipse GlassFish 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 Eclipse GlassFish 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 Eclipse GlassFish
and other entities mentioned in this guide, see For More Information.
6
To review additional details about this release before you begin using the software, see the Eclipse
GlassFish Release Notes. The Release Notes provide important information about the Eclipse
GlassFish 7 release, including details about new features, information about known issues and
possible workarounds, and tips for installing and working with Eclipse GlassFish 7 software.
Default Paths and File Names
The following table describes the default paths and file names that are used in this book.
Table 1-1 Default Paths and File Names
Placeholder Description Default Value
as-install Represents the base installation
directory for Eclipse GlassFish.
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 Eclipse
GlassFish.
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
Default Administration Values
The following table lists default administration values for Eclipse GlassFish. See Default Paths and
File Names for more information about the as-install and domain-dir placeholders.
Table 1-2 Default Administration Values
7
Item Default Value or Location
Domain name
domain1
Master password
changeit
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
Starting and Stopping the Default Domain
When you install Eclipse GlassFish, 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 "Administering
Domains" in Eclipse GlassFish Administration Guide.
To Start the Default Domain
Before You Begin
Eclipse GlassFish software must be installed before you start the domain.
Run the asadmin start-domain command without an operand:
as-install/bin/asadmin start-domain
The command starts the default domain, domain1.
To Stop the Default Domain
Run the asadmin stop-domain command without an operand:
as-install/bin/asadmin stop-domain
The command stops the default domain, domain1.
8
To determine whether a domain is running, use the asadmin list-domains
command:
as-install/bin/asadmin list-domains
Starting and Stopping the Database Server
A database server is not started by default when you start the Eclipse GlassFish 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 Eclipse GlassFish. 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 Eclipse GlassFish Release Notes.
For more information about database connectivity, see "Administering Database Connectivity" in
Eclipse GlassFish Administration Guide.
To Start the Apache Derby Server
Before You Begin
At least one Eclipse GlassFish 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:
as-install/bin/asadmin start-database --dbhome directory-path
For example, to start the Apache Derby server from its default location:
as-install/bin/asadmin start-database --dbhome as-install-parent/javadb
To Stop the Apache Derby Server
Run the asadmin stop-database command:
as-install/bin/asadmin stop-database
Starting the Administration Console
The Eclipse GlassFish Administration Console provides a browser interface for configuring,
9
administering, and monitoring Eclipse GlassFish.
To Start the Administration Console
Before You Begin
At least one Eclipse GlassFish 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:
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
Eclipse GlassFish was installed.
See Also
For more information, see the Administration Console online help.
Deploying and Undeploying Applications
The process of configuring and enabling applications to run within the Eclipse GlassFish
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:
To Obtain the Sample Application
Deploying and Undeploying the Sample Application From the Command Line
Deploying and Undeploying Applications by Using the Administration Console
Deploying and Undeploying the Sample Application Automatically
To Obtain the Sample Application
1. Download a copy of the hello.war sample application from https://glassfish.org/downloads/
quickstart/hello.war.
2. Save the hello.war file in the directory of your choice.
This directory is referred to as sample-dir.
10
Deploying and Undeploying the Sample Application From the Command
Line
Eclipse GlassFish provides asadmin subcommands for performing the following deployment-related
tasks:
To Deploy the Sample Application From the Command Line
To List Deployed Applications From the Command Line
To Undeploy the Sample Application From the Command Line
To Deploy the Sample Application From the Command Line
Before You Begin
The sample application must be available before you start this task. To download the sample, see To
Obtain the Sample Application. At least one Eclipse GlassFish 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:
as-install/bin/asadmin deploy war-name
To deploy the hello.war sample, the command is as follows:
as-install/bin/asadmin deploy sample-dir/hello.war
2. Access the hello application by typing the following URL in your browser:
http://localhost:8080/hello
The application’s start page is displayed, and you are prompted to type your name.
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.
See Also
For more information about the deploy subcommand, see deploy(1).
For more information about deploying applications from the command line, see the Eclipse
GlassFish Application Deployment Guide.
11
To List Deployed Applications From the Command Line
Run the asadmin list-applications command:
as-install/bin/asadmin list-applications
To Undeploy the Sample Application From the Command Line
Run the asadmin undeploy command.
The general form for the command is as follows:
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:
as-install/bin/asadmin undeploy hello
See Also
For more information about the undeploy subcommand, see undeploy(1).
Deploying and Undeploying Applications by Using the Administration
Console
The graphical Administration Console of Eclipse GlassFish enables you to perform the following
deployment-related tasks:
To Deploy the Sample Application by Using the Administration Console
To View Deployed Applications in the Administration Console
To Undeploy the Sample Application by Using the Administration Console
To Deploy the Sample Application by Using the Administration Console
Before You Begin
The sample application must be available before you start this task. To download the sample, see To
Obtain the Sample Application. At least one Eclipse GlassFish domain must be started before you
deploy the sample application.
1. Launch the Administration Console by typing the following URL in your browser:
http://localhost:4848
12
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:
http://localhost:8080/hello/
See Also
For more information, see the Administration Console online help.
To View Deployed Applications in the Administration Console
1. Launch the Administration Console by typing the following URL in your browser:
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.
To Undeploy the Sample Application by Using the Administration Console
1. Launch the Administration Console by typing the following URL in your browser:
http://localhost:4848
13
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.
See Also
For more information, see the Administration Console online help.
Deploying and Undeploying the Sample Application Automatically
Eclipse GlassFish enables you to performing the following deployment-related tasks automatically:
To Deploy the Sample Application Automatically
To Undeploy 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:
as-install/domains/domain1/autodeploy
Before You Begin
The sample application must be available before you start this task. To download the sample, see 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:
cp sample-dir/hello.war as-install/domains/domain-dir/autodeploy
On Windows systems, type this command:
copy sample-dir\hello.war as-install\domains\domain-dir\autodeploy
Eclipse GlassFish automatically discovers and deploys the application. The default URL for the
application is as follows:
14
http://localhost:8080/hello/
To Undeploy the Sample Application Automatically
1. Change to the domain’s autodeploy directory.
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:
rm hello.war
On Windows systems, type this command:
del hello.war
High Availability Clustering and Load Balancing
Eclipse GlassFish enables multiple Eclipse GlassFish 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 Eclipse GlassFish.
Clusters of Eclipse GlassFish Instances
A cluster is a collection of Eclipse GlassFish 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 Eclipse GlassFish instance is a single Virtual Machine for the Java platform (Java Virtual Machine
or JVM machine) on a single node in which Eclipse GlassFish is running. A node defines the host
where the Eclipse GlassFish instance resides. The JVM machine must be compatible with the Java
Platform, Enterprise Edition (Jakarta EE).
Eclipse GlassFish instances form the basis of an application deployment. An instance is a building
block in the clustering, load balancing, and session persistence features of Eclipse GlassFish. 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:
"Administering Eclipse GlassFish Nodes" in Eclipse GlassFish High Availability Administration
15
Guide
"Administering Eclipse GlassFish Clusters" in Eclipse GlassFish High Availability Administration
Guide
"Administering Eclipse GlassFish Instances" in Eclipse GlassFish High Availability
Administration Guide
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. Eclipse GlassFish supports in-memory session replication on other servers in the
cluster for maintaining HTTP session and stateful session bean data.
For more information, see "Configuring High Availability Session Persistence and Failover" in
Eclipse GlassFish High Availability Administration Guide.
Load Balancing for Clustered Configurations
Eclipse GlassFish 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 is compatible with the Apache HTTP server mod_jk module for load balancing.
Eclipse GlassFish load balancing configurations can vary widely depending on the needs of your
enterprise. For complete information about configuring load balancing in Eclipse GlassFish, see the
following documentation:
" Configuring HTTP Load Balancing" in Eclipse GlassFish High Availability Administration Guide
" RMI-IIOP Load Balancing and Failover" in Eclipse GlassFish High Availability Administration
Guide
For More Information
Additional resources are available to help you learn more about Eclipse GlassFish 7 and related
technologies.
The following resources are described here:
Product Documentation
Tutorials
Jakarta EE Examples
16
Product Documentation
Comprehensive product documentation is available and includes the following.
Eclipse GlassFish Release Notes: Latest details about new features, known issues, and tips for
installing and working with Eclipse GlassFish software.
Eclipse GlassFish
Tutorials
The following tutorials provide working examples and detailed instructions for creating enterprise
applications for the Jakarta EE platform.
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.
The Jakarta EE Tutorial. This comprehensive tutorial explains how to use Jakarta EE platform
technologies and APIs to develop Jakarta EE applications.
Jakarta EE Examples
Jakarta EE Examples - The example applications demonstrate Jakarta EE technologies.
17