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.
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
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 |
---|---|
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. |
|
Explains how to get started with the Eclipse GlassFish product. |
|
Explains how to install the software and its components. |
|
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. |
|
Explains how to build a production deployment of Eclipse GlassFish that meets the requirements of your system and enterprise. |
|
Explains how to configure, monitor,
and manage Eclipse GlassFish subsystems and components from the command
line by using the |
|
Provides instructions for configuring and administering Eclipse GlassFish security. |
|
Explains how to assemble and deploy applications to the Eclipse GlassFish and provides information about deployment descriptors. |
|
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. |
|
Explains how to run applications in embedded Eclipse GlassFish and to develop applications in which Eclipse GlassFish is embedded. |
|
Explains how to configure Eclipse GlassFish to provide higher availability and scalability through failover and load balancing. |
|
Explains how to optimize the performance of Eclipse GlassFish. |
|
Describes common problems that you might encounter when using Eclipse GlassFish and explains how to solve them. |
|
Describes error messages that you might encounter when using Eclipse GlassFish. |
|
Provides reference information in man page format for Eclipse GlassFish administration commands, utility commands, and related concepts. |
|
Describes new features, compatibility issues, and existing bugs for Open Message Queue. |
|
Provides an introduction to the technology, concepts, architecture, capabilities, and features of the Message Queue messaging service. |
|
Explains how to set up and manage a Message Queue messaging system. |
|
Describes the application programming interface in Message Queue for programmatically configuring and monitoring Message Queue resources in conformance with the Java Management Extensions (JMX). |
|
Provides information about concepts and procedures for developing Java messaging applications (Java clients) that work with Eclipse GlassFish. |
|
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 |
---|---|---|
|
The names of commands, files, and directories, and onscreen computer output |
Edit your Use
|
|
What you type, contrasted with onscreen computer output |
|
AaBbCc123 |
A placeholder to be replaced with a real name or value |
The
command to remove a file is |
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. |
|
The
|
|
Contains a set of choices for a required command option. |
|
The |
|
Indicates a variable reference. |
|
References the value of the |
- |
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. |
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
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.
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 Installations on the Windows operating system: SystemDrive |
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 Installations on the Windows operating system: SystemDrive |
domain-root-dir |
Represents the directory in which a domain is created by default. |
as-install |
domain-dir |
Represents the directory in which a domain’s configuration is stored. |
domain-root-dir |
instance-dir |
Represents the directory for a server instance. |
domain-dir |
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
Item | Default Value or Location |
---|---|
Domain name |
|
Master password |
|
|
as-install |
Configuration files |
domain-dir |
Log files |
domain-dir |
Administration server port |
|
HTTP port |
|
HTTPS port |
|
Pure JMX clients port |
|
Message Queue port |
|
IIOP port |
|
IIOP/SSL port |
|
IIOP/SSL port with mutual authentication |
|
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.
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
Starting the Administration Console
The Eclipse GlassFish Administration Console provides a browser interface for configuring, administering, and monitoring Eclipse GlassFish.
To Start the Administration Console
Before You Begin
At least one Eclipse GlassFish domain must be started.
-
Type the URL in your browser.
The default URL for the Administration Console on the local host is as follows:
http://localhost:4848
-
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
-
Download a copy of the
hello.war
sample application fromhttps://glassfish.org/downloads/quickstart/hello.war
. -
Save the
hello.war
file in the directory of your choice.This directory is referred to as sample-dir.
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
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.
-
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
-
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?
-
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.
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
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.
-
Launch the Administration Console by typing the following URL in your browser:
http://localhost:4848
-
Click the Applications node in the tree on the left.
The Applications page is displayed.
-
Click the Deploy button.
The Deploy Applications or Modules page is displayed.
-
Select Packaged File to be Uploaded to the Server, and click Browse.
-
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.
-
Specify a description in the Description field, for example:
hello
-
Accept the other default settings, and click OK.
You are returned to the Applications page.
-
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
-
Launch the Administration Console by typing the following URL in your browser:
http://localhost:4848
-
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
-
Launch the Administration Console by typing the following URL in your browser:
http://localhost:4848
-
Click the Applications node in the tree on the left.
The Applications page is displayed.
-
Select the check box next to the
hello
sample application. -
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
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:
http://localhost:8080/hello/
To Undeploy the Sample Application Automatically
-
Change to the domain’s
autodeploy
directory.cd as-install\domains\domain-dir\autodeploy
-
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 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
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.
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.