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.

Eclipse Logo

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

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.

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.

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.

${ }

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.

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/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

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.

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, 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

  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.

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.

  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.

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.

  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.

    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
  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

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
  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:

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:

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.

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.