Hubbry Logo
GlassFishGlassFishMain
Open search
GlassFish
Community hub
GlassFish
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
GlassFish
GlassFish
from Wikipedia
GlassFish
Original authorSun Microsystems
DeveloperEclipse Foundation
Initial release6 June 2005; 20 years ago (2005-06-06)
Stable release
7.0.25[1] / 28 May 2025; 5 months ago (28 May 2025)
Repositoryhttps://github.com/eclipse-ee4j/glassfish
Written inJava
Operating systemCross-platform
PlatformJava
Available inEnglish
TypeApplication server
LicenseEclipse Public License 2.0 and GPL2 with GNU Classpath Exception
Websiteglassfish.org Edit this at Wikidata

GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by OmniFish, Fujitsu and Payara.[2] The supported version under Oracle was called Oracle GlassFish Server. GlassFish is free software and was initially dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the Classpath exception. After having been transferred to Eclipse, GlassFish remained dual-licensed, but the CDDL license was replaced by the Eclipse Public License (EPL).[3]

Overview

[edit]

GlassFish is the Eclipse implementation of Jakarta EE (formerly the reference implementation from Oracle) and as such supports Jakarta REST, Jakarta CDI, Jakarta Security, Jakarta Persistence, Jakarta Transactions, Jakarta Servlet, Jakarta Faces, Jakarta Messaging, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services.

Built on a modular kernel powered by OSGi, GlassFish runs straight on top of the Apache Felix implementation. It also runs with Equinox OSGi or Knopflerfish OSGi runtimes. HK2 abstracts the OSGi module system to provide components, which can also be viewed as services. Such services can be discovered and injected at runtime.

GlassFish is based on source code released by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving web content, with an added component called Grizzly which uses Java non-blocking I/O (NIO) for scalability and speed.

History

[edit]

Epoch of Sun

[edit]
  • October 2003 - Sun Microsystems released Sun ONE Application Server 7 [4][5] that supports the J2EE 1.3 specification. It is based on the iPlanet Application Server and the J2EE reference implementation[6] A basic version is free to download, but not open source.
  • March 2004 - Sun Microsystems released Sun Java System Application Server 8[7] that supports the J2EE 1.4 specification. In June 2004 update 1 is released.[8] A basic version is free to download, but not open source.
  • 8 February 2005 - Sun Microsystems released Sun Java System Application Server 8.1 that supports the J2EE 1.4 specification. This version introduced a major update to web services security (a precursor to the later JASPIC and Jakarta Authentication), Admin Console GUI enhancements, JavaServer Faces 1.1 Support (at this point not yet part of J2EE), performance enhancements, and support for Java SE 5.0.[9] A basic version is free to download, but not open source.
  • 6 June 2005 - Sun Microsystems launched the GlassFish project by publishing the vetted source of Sun Java System Application Server.[10][11] Builds of this early version identity themselves in the log as "sun-appserver-pe9.0".[12]
  • 31 January 2006 - Sun Microsystems released Sun Java System Application Server 8.2.[13] This version introduced bundling of the Derby database and Fast Infoset for web services.[14] A basic version is free to download, but not open source.
  • 4 May 2006 - Project GlassFish released the 1.0 version (a.k.a. Sun Java System Application Server 9.0) that supports the Java EE 5 specification.
  • 15 May 2006 - Sun Java System Application Server 9.0, derived from GlassFish 1.0, is released.[15]
  • 8 May 2007 - Project SailFin was announced at JavaOne as a sub-project under Project GlassFish. Project SailFin aims to add Session Initiation Protocol (SIP) servlet functionality to GlassFish.[16]
  • 17 September 2007 - the GlassFish community released version 2.0 (a.k.a. Sun Java System Application Server 9.1) with full enterprise clustering capabilities, Microsoft-interoperable Web Services.
  • 21 January 2009 - Sun Microsystems and the community released version GlassFish 2.1 (a.k.a. Sun GlassFish Enterprise Server 2.1) which serves as the basis for the Sailfin 1.0 (a.k.a. Sun Communication Application Server 1.0).
  • 28 October 2009 - SailFin 2.0 (a.k.a. Sun Communication Application Server 2.0) was released which leverages GlassFish 2.1.1 (a.k.a. Sun GlassFish Enterprise Server 2.1.1) and adds a number of features including high availability, rolling upgrade, flexible network topology, better overload protection, Diameter support, improved diagnosability, Java based DCR files for the load balancer, and more.
  • 10 December 2009 - GlassFish 3.0 (a.k.a. Sun GlassFish Enterprise Server 3.0) was released. Being the Java EE reference implementation, this was the first application server to completely implement Java EE 6 JSR 316. JSR 316 was however approved with reservations.[17] In this version GlassFish adds new features to ease migration from Tomcat to GlassFish.[18] The other main new features are around modularity (GlassFish v3 Prelude already shipped with an Apache Felix OSGi runtime), startup time (a few seconds), deploy-on-change (provided by NetBeans and Eclipse plugins), and session preservation across redeployments.[19]

Epoch of Oracle

[edit]

The commercially supported version of GlassFish was known as Oracle GlassFish Server,[20] formerly Sun GlassFish Enterprise Server, and previously Sun Java System Application Server (SJSAS) has a history, along with other iPlanet software, going back to Netscape Application Server. This includes code from other companies such as Oracle Corporation for TopLink Essentials. Ericsson's SIP Servlet support is included, the opensource version of it is SailFish, developing towards JSR-289.[21] In 2010, the difference between the commercial and open source edition was already quite small.[21]

  • 25 March 2010 - Soon after the acquisition of Sun Microsystems, Oracle issued a Roadmap for versions 3.0.1, 3.1, 3.2 and 4.0 with themes revolving around clustering, virtualization and integration with Coherence and other Oracle technologies. The open source community remains otherwise unaffected.
  • 28 February 2011 - Oracle Corporation released GlassFish 3.1. This version introduced support for ssh-based provisioning, centralized admin, clustering and load-balancing. It maintains its support for both the Web Profile and full Java EE 6 Platform specifications.
  • 28 July 2011 - Oracle Corporation released GlassFish 3.1.1. This is fix release for GlassFish 3.1 with multiple component updates (Weld, Mojarra, Jersey, EclipseLink, ...), JDK 7 support, AIX support and more.
  • 29 February 2012 - Oracle Corporation released GlassFish 3.1.2. This release includes bug fixes and new features including administration console enhancements, transaction recovery from a database and new thread pool properties.
  • 17 July 2012 - Oracle Corporation released GlassFish 3.1.2.2. This is a "micro" release to address some exceptional issues in the product.[22]
  • 12 June 2013 - Oracle Corporation released GlassFish 4.0. This major release brings Java Platform, Enterprise Edition 7 support.[23]
  • 4 November 2013, Oracle announced the future roadmap for Java EE and Glassfish Server, with a 4.1 open-source edition planned and continuing open-sources updates to GlassFish but with an end to commercial Oracle support.[24][25] Commercial customers have instead been encouraged to transition to Oracle's alternative product, Oracle WebLogic Server.
  • 9 September 2014 - Oracle Corporation released GlassFish 4.1. This release includes many bug fixes (over a thousand) and the latest MR releases of CDI and WebSockets.[26]
  • 7 October 2015 - Oracle Corporation released GlassFish 4.1.1. This release includes many bug fixes and security fixes as well as updates to many underlying components.[27]
  • 31 March 2017 - Oracle Corporation released GlassFish 4.1.2. This release includes bug fixes.[28]
  • 21 September 2017 - Oracle Corporation released GlassFish 5.0. This release includes Java EE 8 Open Source Reference Implementation and that the Java EE 8 umbrella specification and all the underlying specifications (JAX-RS 2.1, Servlet 4.0, CDI 2.0, JSON-B 1.0, Bean Validation 2.0, etc.) are finalized and approved.[29]


Epoch of Eclipse

[edit]
  • 2017 Oracle donated the source code to the Eclipse Foundation.[30][31] At Eclipse, Payara was leading the GlassFish project, with support from Oracle and Red Hat.[2]
  • 29 January 2019 - the Eclipse Foundation released GlassFish 5.1. This release is technically identical to Oracle's GlassFish 5.0 but is fully build from the source code that Oracle transferred to the Eclipse Foundation and which was subsequently relicensed to EPL 2.0. Like GlassFish 5.0, 5.1 is Java EE 8 certified, but does not have any RI status. The main goal of this release is to prove that all source code has been transferred and can indeed be built into a fully compliant product.[32] A GlassFish 5.2 release was planned as a Jakarta EE 8 compatible implementation, but was never released. Jakarta EE 8 is functionally identical to Java EE 8, but was created via the Eclipse Foundation Specification Process (EFSP).[33]
  • 31 December 2020 - the Eclipse Foundation released GlassFish 6.0.0. This version is functionally largely identical to GlassFish 5.1 but implements Jakarta EE 9.[34] Jakarta EE 9 is functionally identical to Jakarta EE 8 (which is functionally identical to Java EE 8) but has its package and various constants changed from javax.* to jakarta.*
  • 5 May 2021 - the Eclipse Foundation released GlassFish 6.1.0. This version is functionally identical to GlassFish 6.0.0 but implements Jakarta EE 9.1. Jakarta EE 9.1 is functionally identical to Jakarta EE 9 (which is functionally identical to Jakarta EE 8 and Java EE 8) but has support for JDK 11. This release requires JDK 11.
  • 28 August 2021 - the Eclipse Foundation released GlassFish 6.2.1. This version has improved support for JDK 17 and includes a new component Eclipse Exousia, the standalone Jakarta Authorization implementation. GlassFish 6.2.1 compiles with JDK 11 to JDK 17
  • 14 December 2022 - the Eclipse Foundation released GlassFish 7.0.0. This is the first version containing larger refactoring and code cleanup, large amount of bugfixes and also new features.[35] Implements new Jakarta Concurrency specification, and supports JDK 11 but recommends usage of JDK17. The GlassFish 7 development is sponsored to a large degree[36] by the Estonian company OmniFish, which also provides commercial support for GlassFish once again.[37][38]

Forks

[edit]

Over the years several companies forked the GlassFish project and created their own distribution:

Payara Services

[edit]
Payara
DeveloperPayara Services Ltd (initial code from Oracle Corporation)
Initial releaseOctober 31, 2014; 11 years ago (2014-10-31)
Stable release
6.2025.4 / April 22, 2025; 6 months ago (2025-04-22)
Repository
Written inJava
Available inEnglish
TypeApplication server
LicenseCommon Development and Distribution License & GNU General Public License
Websitewww.payara.fish Edit this on Wikidata

In response to Oracle’s announcement to end commercial support for GlassFish,[39][40][41] a fork called Payara Server was created and released in October 2014. Payara Server is open source under the same licenses as the original Oracle GlassFish (combined GPL2 + CDDL) and has optional commercial support from Payara Services Ltd., via the Payara Enterprise project.[40]

See also

[edit]

References

[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Eclipse GlassFish is a , open-source that provides a full implementation of the platform specification. It serves as the for , offering a robust environment for developing, deploying, and managing scalable Java-based enterprise applications, web services, and without proprietary dependencies. Originally developed by in the late 1990s, GlassFish traces its roots to the Enterprise Server, recognized as the industry's first in 1996. It evolved into the reference implementation for the Java EE platform under Sun and was subsequently maintained by following its acquisition of Sun in 2010. In September 2017, Oracle announced the donation of GlassFish and related Java EE technologies to the to foster broader community involvement and open governance. The project was rebranded as Eclipse GlassFish, and the platform transitioned from Java EE to in 2018 to resolve trademark concerns with the "Java" name, with source code migration completed that year. Eclipse GlassFish supports all Jakarta EE APIs, having passed the Technology Compatibility Kits (TCKs) for certification, and includes features such as high-availability clustering, session persistence for HTTP and stateful beans, virtual server capabilities, and an intuitive web-based administration console. It also enables embedded server usage for simplified development and testing of applications. Licensed under the Eclipse Public License 2.0 (with the GNU General Public License v2 with Classpath Exception as a secondary license), the project is actively maintained by the Eclipse EE4J community, with key contributors including Fujitsu Limited and Oracle. As of November 2025, the latest stable release is version 7.0.25, compatible with Jakarta EE 10 and supporting Java SE 11, 17, and 21; milestone releases of version 8.0 provide compatibility with Jakarta EE 11.

Overview

Definition and Purpose

GlassFish is an open-source that serves as a complete implementation of the platform, enabling developers to build, deploy, and manage scalable web applications in enterprise environments. It provides a production-ready runtime that supports the full spectrum of Jakarta EE APIs, ensuring compatibility and adherence to open standards without dependencies. This implementation facilitates the creation of robust, distributed systems capable of handling high loads while maintaining reliability and flexibility. Originally developed as a for , GlassFish evolved into a Jakarta EE-compatible server following its transition to the , where it continues to align with the platform's specifications under the governance of the Eclipse EE4J project. This shift marked a broader migration of technologies to the open-source Jakarta ecosystem, preserving while incorporating updates to the specification namespace and APIs. The evolution underscores GlassFish's role in supporting the community's ongoing standardization efforts for enterprise . In enterprise Java development, GlassFish supports key use cases such as implementing web services for interoperability, messaging systems for asynchronous communication, and persistence mechanisms for in mission-critical applications. These features enable the deployment of complex, transaction-oriented systems like financial platforms or backends, where and are essential. By integrating these capabilities, GlassFish empowers organizations to develop applications that meet demanding requirements in production settings. Unlike general-purpose servers such as , which primarily function as servlet containers for web applications, GlassFish offers full-stack enterprise capabilities as a comprehensive server, including support for enterprise JavaBeans (EJBs), Java Message Service (JMS), and Java Persistence API (JPA). This distinction makes GlassFish particularly suited for full-fledged enterprise needs, whereas Tomcat is often chosen for lighter, web-tier-only deployments.

Licensing and Availability

GlassFish is released under a dual licensing model, comprising the version 2.0 (EPL 2.0) and the GNU General Public License version 2 with the Exception (GPL2 w/CPE). The EPL 2.0 provides a permissive open-source framework that permits commercial use, modification, and redistribution of the software, provided that is made available for any modifications and the license is preserved in distributions. Complementing this, the GPL2 w/CPE allows integration with independent modules under varying licenses, facilitating compatibility in environments while maintaining protections for derivative works. This dual structure ensures flexibility for both open-source and proprietary applications, with no royalties or fees required for usage. The open-source Eclipse GlassFish is freely available for download and access through multiple official channels maintained by the . Binary distributions and nightly builds can be obtained from the Eclipse Foundation's download portal via glassfish.org. Source code is hosted on under the eclipse-ee4j organization, enabling developers to clone the repository at github.com/eclipse-ee4j/glassfish for building from source using tools like Maven. Additionally, it is accessible through Eclipse's project repositories, supporting contributions and version control integration. Eclipse GlassFish represents the community-driven, open-source continuation of the project following Oracle's 2017 donation of the codebase to the , distinguishing it from the historical commercial variant known as Oracle GlassFish Server. The Oracle version, which included enterprise support contracts and additional features, reached end-of-life for commercial updates in 2013, after which Oracle ceased providing paid support for new releases. In contrast, Eclipse GlassFish operates without such commercial obligations, emphasizing collaborative development under governance. Under its licensing terms, Eclipse GlassFish grants users significant freedoms for commercial deployment, including the right to modify the source code for internal use or create derivative products, as long as compliance with EPL 2.0 or GPL2 w/CPE attribution and distribution rules is maintained. This model supports enterprise adoption by allowing redistribution in bundled software or cloud services without licensing fees, though users must ensure patent and warranty disclaimers are honored. Organizations seeking extended support can leverage community resources or third-party providers, but the core codebase remains unencumbered for broad commercial utilization.

Technical Features

Core Architecture

GlassFish employs a modular kernel architecture centered on the framework, utilizing Apache Felix as its default OSGi implementation to enable and management of components as bundles. This design allows for selective installation of modules, reducing startup times, usage, and disk footprint by activating only necessary functionalities on demand. Components interact through a lightweight, extensible kernel that supports add-on extensions via public interfaces and dependency declarations, ensuring seamless integration without recompiling the core server. At the heart of this architecture are core components that facilitate deployment, administration, and scalability. Server instances serve as the runtime environments for Jakarta EE applications, each capable of operating standalone or as part of a larger configuration. Administrative domains, managed by a dedicated Domain Administration Server (DAS), encapsulate these instances and provide centralized control over configurations and resources. Clusters group multiple server instances to deliver high availability through features like failover and load balancing, while node agents—representing physical hosts—enable remote management of instances across distributed environments via protocols such as SSH. Network traffic handling in GlassFish relies on NIO framework, which implements non-blocking I/O to process HTTP and requests efficiently, supporting scalable server operations for high-concurrency scenarios. Grizzly's asynchronous processing model minimizes thread overhead, allowing the server to manage thousands of simultaneous connections without blocking, and integrates directly with GlassFish's HTTP service layer for protocol decoding and response generation. Extensibility is further enhanced by the HK2 (Hundred-Kilobyte Kernel) framework, which implements Jakarta Dependency Injection standards to manage services and their lifecycles dynamically. HK2 enables add-on components to declare dependencies on core services using annotations like @Service and @Inject, supporting scopes such as singleton or per-lookup to control instantiation. This allows developers to extend GlassFish's functionality—such as custom administration commands or monitoring providers—by packaging them as bundles that the kernel automatically discovers and injects. The relationships among domains, clusters, and instances form a hierarchical structure optimized for . A domain acts as the top-level , housing the DAS and one or more clusters or standalone instances, all sharing a common configuration repository. Within a domain, clusters aggregate instances across hosts, enabling horizontal scaling by distributing load and replicating session state via the Group Service for . Each instance belongs exclusively to one domain and inherits cluster-level settings if assigned, allowing seamless addition of instances to expand capacity without disrupting ongoing operations. This setup supports elastic growth, where clusters can dynamically incorporate new instances managed through node agents to handle increasing workloads.

Supported Standards and Technologies

GlassFish provides full compatibility with 11, serving as a certified that passes all (TCK) tests for the platform's required and optional components. This ensures developers can build portable enterprise applications leveraging key APIs such as Jakarta RESTful Web Services (JAX-RS) for creating RESTful services, Contexts and Dependency Injection (CDI) for managing dependencies and lifecycles, Java Persistence API (JPA) with EclipseLink as the default provider for object-relational mapping, Java Transaction API (JTA) for distributed transaction management, for web container functionality, Jakarta Server Faces (JSF) for user interface components, and Jakarta Messaging (JMS) for asynchronous communication. In addition to core Jakarta EE standards, GlassFish integrates support for Eclipse MicroProfile 6.1, enabling cloud-native development features like , metrics, health checks, and ; this integration is optional and available in versions requiring JDK 17 or higher. For security, GlassFish implements the Java Authentication and Authorization Service (JAAS) to handle pluggable authentication and , allowing custom login modules for realms such as certificate or JDBC-based authentication. It also supports SAML for through configurable security providers, facilitating across domains. Messaging capabilities in GlassFish are enhanced by its built-in integration with OpenMQ (formerly Sun Java System Message Queue), which serves as the default JMS provider to enable reliable, asynchronous message exchange without external dependencies. GlassFish runs on a range of JDK versions depending on the release: versions 7.x support Java SE 11 to 24, with Java SE 11 as the minimum for core functionality and versions like 17+ for advanced features such as MicroProfile; GlassFish 8.0 milestones require JDK 21 minimum, with experimental support extending to JDK 25. This modular architecture allows selective enabling of these standards to optimize resource usage in enterprise deployments.

History

Sun Microsystems Era

The origins of GlassFish trace back to October 2003, when released Sun ONE Application Server 7, a commercial product compliant with the J2EE 1.3 specification that laid the groundwork for future open-source Java enterprise server initiatives. This server represented Sun's primary enterprise application platform at the time, emphasizing standards-based development for distributed applications. On June 6, 2005, Sun Microsystems officially launched the GlassFish project during JavaOne, open-sourcing the codebase of the Sun Java System as a reference implementation for the emerging platform. The initiative aimed to build a community-driven, production-quality under the (CDDL), encouraging contributions to accelerate innovation. This move aligned with Sun's broader strategy to integrate GlassFish into the Java Enterprise System, a suite of tools for enterprise deployments. GlassFish v1.0 was released on May 4, 2006, providing full implementation of the Java EE 5 specification, including annotations for simplified development and tight integration with the IDE for streamlined application building and deployment. Key innovations during this period included the introduction of the Metro framework, a high-performance web services stack from the GlassFish community that supported JAX-WS and JAX-RS for reliable, interoperable web services. Early clustering features emerged in subsequent updates like v2 (2007), enabling load balancing and session replication for high-availability environments within Sun's ecosystem. The GlassFish community experienced rapid growth under Sun, attracting developer contributions through forums, mailing lists, and integration with the Java Enterprise System, which by 2007 included over 1,800 registered members and millions of downloads. This collaborative effort solidified GlassFish as a cornerstone of open-source Java EE development. The Sun era concluded with Oracle's acquisition of Sun in January 2010, shifting stewardship to Oracle while preserving the project's open-source foundations.

Oracle Corporation Era

In January 2010, completed its acquisition of for approximately $7.4 billion, integrating Sun's open-source projects, including GlassFish, into its middleware portfolio. This transition followed the release of GlassFish 3.0 in December 2009, which implemented Java EE 6 and featured enhanced support through the integration of the Apache Felix framework, enabling modular application deployment and improved runtime extensibility. Under Oracle's stewardship, GlassFish continued as the for subsequent Java EE specifications, though the acquisition raised early concerns among developers regarding the future of community-driven development. GlassFish 4.0 was released in June 2013 as the for EE 7, introducing support for (JSR 356) for real-time bidirectional communication and Batch Applications (JSR 352) for processing large-scale data jobs. These features enhanced GlassFish's capabilities for modern web applications and enterprise batch processing, aligning with evolving standards for scalable development. Later, in September 2017, GlassFish arrived as the for EE 8, adding protocol support in the Servlet container to improve web performance through multiplexing and header compression. During this period, Oracle shifted emphasis toward its commercial GlassFish Server offerings, which provided enterprise-grade support and clustering features, while open-source edition updates continued but with limitations. In November 2013, Oracle announced it would cease commercial support for future major releases of the open-source GlassFish, ending paid maintenance for version 4.0 and beyond, though existing contracts were honored. This decision reflected a broader pivot to proprietary products, contributing to internal challenges such as reduced focus on and delays in Java EE specification advancements, exemplified by the prolonged timeline for Java EE 8 from initial planning in 2014 to final release in 2017. These shifts ultimately led Oracle to donate GlassFish and Java EE technologies to the in September 2017.

Eclipse Foundation Era

In 2017, Oracle Corporation announced its intention to donate the Java EE technologies, including the GlassFish application server, to the , with the formal announcement occurring on September 12. This donation was completed with the transfer of the GlassFish codebase to Eclipse repositories on September 17, 2018, marking a significant shift toward open governance. Upon integration, GlassFish was rebranded as Eclipse GlassFish, emphasizing its role as a community-led for enterprise Java standards under the Eclipse umbrella. The first major release under Eclipse stewardship was Eclipse GlassFish 5.1.0, issued on January 29, 2019, which served as a maintenance update for Java EE 8 compatibility. This version passed the Java EE 8 Compatibility (CTS), ensuring it remained a certified while incorporating community contributions and bug fixes during the transition period. It represented a bridge from Oracle's prior stewardship, focusing on stability and integration with the emerging ecosystem without introducing breaking changes. A pivotal evolution occurred with Eclipse GlassFish 6.0.0, released on December 30, 2020, aligning with the debut of 9. This release implemented the namespace migration from javax.* to jakarta.*, a foundational change to resolve trademark issues and enable independent evolution of the platform outside Oracle's control. The update required JDK 11 or higher and passed the 9 CTS, establishing Eclipse GlassFish as the first compatible runtime for the renamed specifications. Subsequent enhancements came with Eclipse GlassFish 6.1.0 on May 25, 2021, supporting 9.1 with refinements to security features and CDI 3.0 integration, also achieving full CTS certification. Further advancement arrived in Eclipse GlassFish 7.0.0, released on December 14, 2022, which delivered complete compatibility with 10, including support for JDK 17, enhanced processing, and improved concurrency utilities, once again validated through rigorous CTS testing. The project continued to evolve with the release of Jakarta EE 11 on June 26, 2025, accompanied by Eclipse GlassFish 8.0.0 milestones achieving full compatibility and passing the Technology Compatibility Kits (TCKs), supporting JDK 17 and later versions. Governance of Eclipse GlassFish falls under the Eclipse EE4J top-level project, launched in 2018 to steward the donated Java EE assets through a meritocratic, open-source model. This structure promotes community-driven development, with contributions from organizations like , , and , alongside individual committers, fostering collaborative evolution of the server and its alignment with standards. The project's charter emphasizes transparency, inclusivity, and vendor-neutral advancement, enabling sustained innovation without proprietary constraints.

Forks and Derivatives

Payara Server

Payara Server emerged as a prominent of GlassFish during a period of dissatisfaction with 's reduced commitment to the project, providing a viable alternative for users seeking ongoing development and support. It was forked from GlassFish 4.0 on October 31, 2014, by members of the former GlassFish team operating under C2B2 Consulting, which later evolved into Services Ltd. This initiative aimed to deliver a that addressed unresolved bugs and extended the lifecycle of the open-source . Key enhancements in Payara Server distinguish it from upstream GlassFish, including built-in support for Eclipse MicroProfile introduced in early versions to facilitate development and cloud-native applications. The server integrates for advanced clustering capabilities, enabling efficient session replication, data grids, and without relying on external tools. Additionally, it offers commercial support options through Payara Services, including service level agreements for production environments. Payara Server maintains a release cadence aligned with GlassFish updates while incorporating proprietary improvements; for instance, version 6.2025.4, released in April 2025, provides compatibility with 10 and SE 11/17/21, ensuring support for enterprise Java standards and runtime environments. As of November 2025, the latest , version 7.2025.1, is certified compatible with 11 and supports SE 17 and 21. This quarterly rhythm allows for timely integration of security patches and feature enhancements beyond the Eclipse GlassFish baseline. Emphasizing production readiness, Payara Server includes integrations such as native orchestration, Helm charts, and pipeline compatibility, alongside performance optimizations like dynamic thread pooling and low-latency request processing tailored for high-throughput scenarios. These features, absent in upstream GlassFish, enable seamless scaling in cloud and hybrid deployments. The business model centers on an open-source core under the v2.0, complemented by enterprise subscriptions that unlock advanced monitoring tools, extended support, and priority bug fixes for mission-critical applications.

Other Derivatives

Eclipse Piranha Cloud represents a lightweight, cloud-native derivative of GlassFish technology, developed by the OmniFish team to enable highly composable runtimes suitable for embedded and serverless environments. Unlike the full model of GlassFish, focuses on modular components for specific use cases, such as rendering Jakarta Faces pages without requiring an HTTP server, while maintaining compatibility with standards. It emerged from experience with GlassFish to address demands for faster startup times and reduced overhead in modern cloud deployments. Several commercial derivatives of GlassFish have been developed primarily in to extend its capabilities for enterprise environments. NEC's WebOTX , for instance, is based on GlassFish and supports 8, with customized jars and features tailored for mission-critical applications. Similarly, and Fujitsu's Enterprise Application Platform (formerly Interstage) derive from GlassFish, achieving certifications for 10 and focusing on high-availability and integration with legacy systems in large-scale deployments. These derivatives, including the leading fork Payara Server, arose largely in response to Oracle's diminished support for GlassFish after 2013, aiming to fill gaps such as sustained updates, commercial backing, and integration with emerging standards like MicroProfile for microservices compatibility. By forking or adapting GlassFish's open-source codebase, projects like Piranha and commercial variants provide easier migration paths and niche optimizations without relying on the upstream project's evolving priorities under the Eclipse Foundation.

Current Status and Development

Recent Releases and Compatibility

Eclipse GlassFish 7.0.21, released on January 3, 2025, focused on resolving critical stability issues, including hangs during server restarts on high-performance machines and the creation of excessive ephemeral ports upon shutdown, as well as random HTTP 403 errors affecting authenticated sessions. These fixes improved operational reliability for enterprise deployments, with contributions from developers addressing race conditions and resource management. Eclipse GlassFish 7.0.22, released on February 3, 2025, included updates to Concurrō, , and components, along with security improvements and bug fixes for better stability. Eclipse GlassFish 7.0.23, released on March 14, 2025, added support for SSH nodes on Windows operating systems, along with various bug fixes and enhancements to administration features. In April 2025, Eclipse GlassFish 7.0.24 introduced full support for JDK 24, enabling compilation and execution across JDK versions 11 through 24, while requiring JDK 17 or higher for MicroProfile features. This release unified scripting by standardizing all Linux scripts to use Bash consistently and implementing a cross-platform method for resolving the AS_INSTALL path, alongside fixes for Windows-specific log formatting issues. Deployment performance saw optimizations, such as replacing custom file discovery with Java's Files.walkFileTree API and adopting try-with-resources for better efficiency; for instance, on Windows 11, deployment times for large applications dropped from 110 seconds to around 100 seconds, with potential further reductions to 92 seconds via caching. Eclipse GlassFish 7.0.25, released on May 27, 2025, emphasized code cleanups and system optimizations to streamline future maintenance, including migration from deprecated DerbyDB classes and enhancements to class loader initialization. It also fixed race conditions in logging components, resolved memory leaks in connection resources, and improved local server stopping mechanisms, all while preparing the codebase for the upcoming 7.1.0 release and 11 compatibility. Overall compatibility for Eclipse GlassFish 7 remains robust, supporting JDK 11 to 24 for core operations and certified (TCK) compliance for 10, ensuring adherence to the full platform specification. MicroProfile implementations necessitate JDK 17 or later due to dependency requirements. The future roadmap for Eclipse GlassFish, as of November 2025, prioritizes expanded JDK support up to version 25 and beyond, demonstrated in 7.1.0 Milestone 1 (released October 1, 2025), which enhances Jakarta EE 10 features and supports JDK 17 to 25. Additionally, GlassFish 8.0.0-M14 (November 2025) provides compatibility with the Jakarta EE 11 platform (released June 26, 2025), requiring JDK 21 minimum and passing full TCK certification for cloud-native enhancements and modernized profiles.

Community Involvement and Support

The Eclipse GlassFish project is governed by the Eclipse EE4J Working Group, an open-source initiative under the that manages its development alongside other Jakarta EE components to ensure vendor-neutral evolution. Key sponsors, including OmniFish, Limited, and Services Limited, provide resources and expertise, complemented by contributions from individual developers who participate in code reviews and enhancements. This collaborative structure fosters a stable environment for advancing GlassFish as a for . Contributions to GlassFish occur primarily through open channels such as the repository at eclipse-ee4j/glassfish, where developers submit issues and pull requests for features, bug fixes, and improvements. Additional avenues include the glassfish-dev mailing list for discussions among developers and the Eclipse bug tracker for reporting and resolving defects, enabling transparent and inclusive participation from the global community. The GlassFish community actively participates in Jakarta EE-focused events, such as conferences where updates and demonstrations are presented, often through shared booths organized by sponsors like OmniFish. Essential resources include detailed documentation hosted on glassfish.org, covering administration, deployment, and development guides to assist users and contributors. efforts involve running Technology Compatibility Kits (TCKs) to verify compliance with Jakarta EE specifications, ensuring reliability for enterprise deployments. Support mechanisms for GlassFish encompass community-driven options like forums on Eclipse.org and tagged questions on Stack Overflow, where users seek advice on configuration and troubleshooting. Commercial support is available from sponsors, with OmniFish offering enterprise services for production issues and upgrades, while migration guides facilitate transitions from legacy versions like GlassFish 5 or earlier Oracle editions. The Eclipse Public License enables these broad contributions by promoting open collaboration without restrictive barriers. A notable challenge for the GlassFish community lies in sustaining adoption against competitors like , which prioritize cloud-native optimizations and faster startup times, whereas GlassFish emphasizes long-term stability and comprehensive adherence.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.