1. Oracle GlassFish Server 3.1-3.1.1 Release Notes
What's New in the GlassFish Server 3.1.1 Release?
Environment and Component Changes
Expanded Loadbalancer Plug-In Support of Web Servers
New asadmin Subcommands for Secure Admin
What's New in the GlassFish Server 3.1 Release?
GlassFish Server 3.1 Productivity Benefits
Flexible, Extensible, and Customizable
Enhancing Developer Productivity
Oracle GlassFish Server and Oracle Fusion Middleware
Hardware and Software Requirements
Supported Platforms, JDK Versions, Browsers, mod_jk, and JDBC Drivers and Databases
Message Queue Broker Requirements
Paths and Environment Settings for the JDK Software
Set the JAVA_HOME Environment Variable
Set Other Environment Variables As Necessary
Known Issues in GlassFish Server 3.1.1
restart-instance takes a long time on Solaris 11 (sun.security.pkcs11.SunPKCS11) (15537)
Accept multiple certs for admin authentication (16437)
tcp-no-delay attribute in Http is not working (16902)
Invoking GF installer on AIX 6.1 with JDK6 64 bit gives Warning (16667)
(JDK) NLS: Crashed when tried to install the bundle in ko locale (16699)
PKG_CLIENT_READ_TIMEOUT is too small (16999)
Unable to set -server JVM options (16770)
cannot remote deploy large wars (15773)
Fail to install the bundle named with -jdk7 when unset JAVA_HOME in solaris 11 Express x86 (16698)
Non-persistent timers are incorrectly canceled in a clustered environment (17060)
asadmin timeout from HA short execution on AIX (16960)
Unable to restart Embedded GlassFish Server instance once a remote EJB is deployed (16916)
EJB Timer Service is not loaded correctly after Embedded GlassFish Server restart (16230)
Switching log levels persistently breaks logging service (17037)
Stopping Embedded GlassFish Server leaves several daemon threads running (11088)
Administration Guide on Patching in a Closed Network Incorrectly Lists 3.0.1 Patches (13422800)
Embedded EJB container returns null reference when META-INF/beans.xml is in the classpath (16285)
Known Issues in GlassFish Server 3.1
[OWSM] Interop Metro-WLS:NPE WSSECURTIYTOKEN NULL for WSSE:SECURITYTOKENREFERENCE (Issue 9716247)
[JDK_Issue] Performance degradation caused by invoking setSoLinger or setReuseAddress (Issue 7109)
[JDK_Issue] IO exception: invalid argument during longevity test (Issue 7529)
File permissions on domain /applications directory can cause NullProcessException (Issue 6545)
[Open Installer] Option -l to relocate log files ignored on Windows (Issue 10693)
Issues occur with ZIP distribution if UAC enabled on Windows Vista (Issue 10755)
[Open Installer] Start menus not displayed and then empty on Windows Vista (Issue 5087)
Standalone Update Tool fails with segmentation fault on Solaris (Issue 11222)
Problems debugging JPA (Issue 11274)
Windows startup menu shows single entry on multiple installation of Glassfish 3.1 (7002744)
Critical JRockit Issues (7020176)
New Grizzly integration required for http://java.net/jira/browse/GRIZZLY-970 (15909)
ReleaseNotes: document Restart Required issues (Umbrella issue 16040)
[UB]org.osgi.framework.BundleException during shutdown after upgrade (15441)
Update coordinates failure with enable-security-admin (7017384)
Man page for list-supported-cipher-suites (15998)
lazy-init attribute missing from admin console Edit IIOP Listener page (15975)
RMIConnectorStarter constructs invalid URLs with a literal IPv6 address (15937)
man-page-review umbrella issue (15929)
[UB]Release note security permissions required for CDI applications (15456)
build 40 : list-jmsdest for cluster1 not working, it just hangs
Create Resource Adapter Config is throwing an exception if JMS is already started (15571)
Domain.xml: setting protocol.http-listener-1.http.max-connections set in 1 or -1 (16025)
[UB][regression] jpaRLCreateEMF failure on sybase (15763)
Admin Console: intermittent Blank Screen (15633)
Caching JMS session in a session bean causes errors when invoked by a MDB when under load (15558)
Domain fails to stop after console loaded (with secure admin enabled) (15482)
Modifying keyfile path in a newly created config does not properly list the users (15429)
[BigApps] [STRESS] ~17 occurences of "EOFException" warnings coming from JMS (15424)
Mysql ping fails when additional properties are not deleted (14547)
If TS resource had been changed, tables are not created after server restart (13873)
GlassFish/Grizzly not able to accept new request if a remote client hangs (6963818)
restore-domain from a config only backup will corrupt the domain directory (7026114)
JSF PhaseListener executed for each virtual host (15809)
could not find Factory: javax.faces.context.FacesContextFactory (16061)
NullPointerException when accessing OSGi web application (15985)
GlassFish installer needs to prompt user to set MQ admin password (12305750)
Known Issues in GlassFish Server 3.1 Fixed in 3.1.1
Win. Deployment with contextroot: Application [] contains no valid components (13774)
[UB]Accessing encoded URLS throws 403: Forbidden (15709)
Glassfish Installer does not update MQ config file (imqenv.conf) with values (15724)
Remote EJBs fail with ClassCastException in embeddable GlassFish (15775)
Column APPLICATIONID is missing from bundled SQL scripts for EJB timer table creation. (15986)
create-jvm-options subcommand options incorrectly parsed by asadmin (16037)
appclient in cygwin passing extra empty string (16044)
3.1 GlassFish installer takes longer to bootstrap Update Center than in 3.0.1 (16067)
On Windows the first time pkg.bat or updatetool.bat is run they may echo garbage (16094)
Admin GUI hangs on first access after installation on some Solaris Server Hardware. (16153)
asupgrade Fails Without Internet Connection (16159)
Application info page: status not shown correctly and virtual servers changes not saved (16048)
Log Viewer: details garbled after navigating to earlier records, exception in server.log (16029)
Firefox 4.0 does not work for the Admin Console Targeting dialogs (16385)
@DSD defined in EJBs bundled in a .war is not available for JPA during prepare() phase (15865)
Restrictions and Deprecated Functionality
HADB and hadbm Command Support
Deprecated, Unsupported, and Obsolete Options
No Support for Client VM on Windows AMD64
Metro Reliable Messaging in InOrder Delivery Mode
No Support for Kerberos on AIX
Update Center Client Limitations on AIX Platform
Persistence of EJB References in HTTP Sessions Not Supported for Coherence*Web
GlassFish Server Documentation Set
Features Available Only in the Full Platform Profile
How to Report Problems and Provide Feedback
Oracle GlassFish Server 3.1 is the world's first full implementation of the Java Platform, Enterprise Edition (Java EE) 6 specification. GlassFish Server 3.1 delivers a flexible, lightweight and extensible Java EE 6 platform. Completely supported for commercial deployment, GlassFish Server 3.1 delivers a small footprint, fully featured, and production-ready Java EE application server.
The following topics are addressed here:
If you will be using the GlassFish Server 3.1.1 update release, also be sure to see What's New in the GlassFish Server 3.1.1 Release?.
The following sections briefly summarize some of the important new productivity benefits provided by GlassFish Server 3.1.
GlassFish Server 3.1 offers significant enhancements:
Embedded API for a tightly integrated solution with EJB support
RESTful administration API to enable new - or integrate with - network services
Develop custom administration features and expose them through the web console, command line tool, and RESTful API.
The ability to re-brand the user interface for a seamless user experience
GlassFish Server 3.1 delivers a new, efficient model for developing and deploying production-level applications. Developers can begin with just the Web Profile and grow to the full Java EE 6 platform when needed. Because GlassFish Server runs on the OSGi runtime, modular features can be added as necessary. It also keeps the footprint as small as possible by loading only modules required to service deployed applications, improving startup time and reducing resource utilization. Smaller downloads, faster startup times, and reduced memory footprints are only some of the capabilities that help developers deliver applications more efficiently. GlassFish Server also provides multiple developer tooling options, including support for Eclipse and NetBeans. GlassFish Server supports developers' favorite tools: GUI and command line interface (CLI), Maven, Ant, RESTful API, and others.
When combined with Eclipse or NetBeans, GlassFish Server can significantly improve iterative development. Instead of six time-consuming steps (edit, save, compile, package, deploy, re-populate session data), the same process is reduced to three steps (edit, save, and refresh browser). Active Redeploy allows session data in HTTP session and stateful EJBs to be retained across application deployments, eliminating the need to repopulate the session data when deploying new code to test. Application-scoped resources enable developers to limit the scope of resources to a deployed application.
The Java EE 6 platform improves developer productivity by supporting the use of annotations in place of XML configuration, simplifying packaging of business components, and enabling the construction of more Plain Old Java Objects (POJOs). The result is getting more done in less time with fewer artifacts to manage over time.
In addition, GlassFish Server includes multi-language support and is available in the following languages: English, French, German, Spanish, Japanese, Simplified Chinese, Traditional Chinese, Korean and Brazilian Portuguese.
Management of clusters containing many instances from a centralized web based console
Dynamic configuration of live clusters
High availability for JAX-WS, JMS, EJB; Active Redeploy that retains EJB/HTTP session state on redeploy
Oracle Portfolio Integration: Oracle Coherence, Oracle Web Services Manager, Oracle Access Manager, Oracle WebLogic Server compatibility and interoperability
GlassFish Server Control is a suite of tools that improves manageability of production deployments.
Monitoring Scripting Client enables custom monitoring scripts using finegrained probes
Domain Backup and Recovery enables scheduled, automated backups of a live domain server
Performance Tuner enables up to a 300% performance improvement over out-of-the-box configuration
Active Cache for GlassFish enables out-of-the-box replacement of inmemory replication with Coherence for more robust, flexible high availability
Out-of-the-box Oracle Access Manager integration to enable single sign-on of applications and services
Load Balancer Web Server Plugin & Installer for balancing load across cluster instances and smart failover on instance failure.
Oracle GlassFish Server 3.1 is part of the Oracle Fusion Middleware application grid portfolio and is ideally suited for applications requiring lightweight infrastructure with the most upto-date implementation of enterprise Java, Java EE 6, and Java Web Services infrastructure.
Oracle GlassFish Server complements Oracle WebLogic Server, which is designed to run the broader portfolio of Oracle Fusion Middleware and large-scale enterprise applications.
Oracle GlassFish Server 3.1 release improves application portability by offering support for WebLogic web deployment descriptors, and shared runtime components like JPA, JAX-RS, JAXB, JAX-WS. Oracle GlassFish Server 3.1 provides certified interoperability with Oracle Fusion Middleware Products including: Oracle Internet Directory, Oracle Virtual Directory, Oracle Coherence, Oracle Web Services Manager, and Oracle Access Manager.
The following sections provide more detail about the key technology enhancements and new features in GlassFish Server 3.1.
The following topics are addressed here:
GlassFish Server 3.1 is based on the Java EE 6 Reference Implementation and is the first application server to support the full Java EE 6 platform and the new Java EE 6 Web Profile, which is designed specifically for Web applications.
The Java EE 6 platform is backward compatible, so existing Java EE applications will continue to run on the newer platform. Extensive support for clustering across the entire product provides production grade reliability, scalability, fault tolerance and performance for GlassFish Server applications. This support extends from the installer to administration functions, and from native Web server plug-ins to Metro Web Services, JMS and stateful EJBs. These capabilities allow application clusters to be provisioned dynamically and adjusted on the fly, and makes it possible for administrators to redeploy or upgrade applications to meet user demand without service interruption. A single GlassFish Server domain server can manage up to 100 instances, supporting multiple clusters simultaneously.
The enhanced GlassFish Server 3.1 clustering infrastructure includes the following features:
High availability and scalability through failover load balancing. See the Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide for more information. Load Balancing support is also discussed more in the following section.
Replacement of node agents with GlassFish Server nodes, as described in Chapter 3, Administering GlassFish Server Nodes, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
Support for using secure shell (SSH) configurations for centralized administration, as described in Chapter 2, Setting Up SSH for Centralized Administration, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
Support for clusters, clustered server instances, and standalone server instances, as described in Chapter 4, Administering GlassFish Server Clusters, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide and Chapter 5, Administering GlassFish Server Instances, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
Name configurations, as described in Chapter 6, Administering Named Configurations, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
As mentioned in the previous section, Oracle GlassFish Server 3.1 supports clusters and clustered server instances, which provide excellent performance, load balancing failover and recovery, and transaction security.
An important aspect of clustering support in GlassFish Server 3.1 is that clustered configurations can be optimized by means of performance tuning and load balancing tools in a number of command-line subcommands. In addition, the GlassFish Loadbalancer Plug-In makes it easy to configure your Web server to work with Oracle GlassFish Server.
Complete details about configuring load balancing in GlassFish Server 3.1 are provided in the Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide.
GlassFish Server 3.1 includes the following JMS and Message Queue Broker enhancements:
Automatically managed JMS hosts embedded in standalone instances
By default, for each standalone instance GlassFish Server creates and manages a Message Queue broker embedded in the instance to provide JMS messaging. See Chapter 17, Administering the Java Message Service (JMS), in Oracle GlassFish Server 3.1 Administration Guide for more information.
Automatically managed Message Queue broker clusters to support GlassFish Server clusters
By default, GlassFish Server creates and manages a Message Queue broker cluster for a GlassFish Server cluster, assigning one Message Queue broker to each GlassFish Server cluster instance. See Using Message Queue Broker Clusters With GlassFish Server in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide for more information.
Using GenericJMSRA for WebLogic JMS
New instructions on how to configure the Generic Resource Adapter for JMS so Glassfish Server applications can exchange messages with WebLogic JMS. See Using GenericJMSRA with WebLogic JMS in Oracle GlassFish Server 3.1 Administration Guide for more information.
GenericJMSRA for IBM WebSphere MQ
New instructions on how to configure Generic Resource Adapter for JMS so Glassfish Server applications can exchange messages with WebSphere Message Queue. See Using GenericJMSRA with IBM WebSphere MQ in Oracle GlassFish Server 3.1 Administration Guide for more information.
Enhanced domain backup and recovery features in GlassFish Server 3.1 include:
Domain backup to a specified location
You can now specify where domain backups are stored, and so support IT best practices such as off-host backups. See To Back Up a Domain in Oracle GlassFish Server 3.1 Administration Guide for more information.
Automated domain backups on live domains
Oracle GlassFish Server 3.1, you can now create backup configurations that automatically back up live domains on a scheduled basis. Note that this feature is not available in GlassFish Server Open Source Edition. See Setting Up Automatic Backups of a Domain in Oracle GlassFish Server 3.1 Administration Guide for more information.
A number of deployment enhancements have been introduced in GlassFish Server 3.1:
Support for deployment to a cluster.
The --target options on the asadmin deployment subcommands have been restored from v2.1, as have the *-application-ref subcommands. For more information, see Appendix A, The asadmin Deployment Subcommands, in Oracle GlassFish Server 3.1 Application Deployment Guide.
Support for rolling application upgrades
See Chapter 9, Upgrading Applications Without Loss of Availability, in Oracle GlassFish Server 3.1-3.1.1 High Availability Administration Guide for more information about rolling upgrades for applications deployed on GlassFish Server.
Partial support for WebLogic Server deployment descriptors
See WebLogic Server Deployment Descriptor Support in GlassFish Server in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
Application-scoped resources
See Application-Scoped Resources in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
Transparent JDBC connection pool reconfiguration (no redeployment needed)
See Transparent JDBC Connection Pool Reconfiguration in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
OSGi bundle deployment
See OSGi Bundle Deployment Guidelines in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
New deployment descriptor elements
See Appendix B, GlassFish Server Deployment Descriptor Files, in Oracle GlassFish Server 3.1 Application Deployment Guide for more information.
An entirely new Oracle GlassFish Server 3.1 Security Guide has been written for GlassFish Server 3.1. Some of the important new security features covered in this guide include:
Managing Administrative Security with secure administration
The secure administration feature, referred to as secure admin, allows you to secure all administrative communication between the domain administration server (DAS), any remote instances, and administration clients such as the asadmin utility, the administration console, and REST clients. Secure admin provides a secure environment in which you can be confident that rogue users or processes cannot intercept or corrupt administration traffic or impersonate legitimate GlassFish Server components. See Chapter 5, Managing Administrative Security, in Oracle GlassFish Server 3.1 Security Guide for more information.
Custom Authentication of Client Certificate in SSL Mutual Authentication GlassFish Server extends the Certificate realm to allow custom authentication and group assignment based on the client certificate received as part of SSL mutual (two-way) authentication. You can now use a convenient abstract base class to configure a JAAS LoginModule for the Certificate realm. See Custom Authentication of Client Certificate in SSL Mutual Authentication in Oracle GlassFish Server 3.1 Security Guide for more information.
Working With the server.policy Policy File Each GlassFish Server domain has its own global Java SE policy file, named server.policy. This section describes the structure of this file, provides information about the default permissions, and details how you can change the default permissions. See Working With the server.policy Policy File in Oracle GlassFish Server 3.1 Security Guide for more information.
Dynamic Reconfiguration Administrative commands that you execute on the domain administration server (DAS) must either be replicated on the effected server instances, or on all server instances that are part of the cluster. Dynamic reconfiguration refers to using the --target operand to subcommands to make a change to a server instance (if the user-specified target is a server instance), or all server instances that are part of the cluster (if the user-specified target is a cluster). See Dynamic Reconfiguration in Oracle GlassFish Server 3.1 Security Guide for more information.
Support for PAM realm
GlassFish Server now supports Pluggable Authentication Module (PAM) realms. A PAM realm allows applications deployed on GlassFish Server to authenticate users against a native Unix (Solaris/Linux/Mac OS) users list. See Overview of Authentication Realms in Oracle GlassFish Server 3.1 Security Guide for more information.
Interoperability with Oracle Identity Management
The OAM Security Provider enables GlassFish Server administrators to use Oracle Access Manager to control user access to business applications. The OAM Security Provider for GlassFish Server is a JSR 196 Server Authentication Module (SAM) that provides authentication, authorization (optional), and single sign-on across JavaEE Web applications that are deployed on GlassFish Server. See Chapter 7, Integrating Oracle Access Manager, in Oracle GlassFish Server 3.1 Security Guide for more information.
Enhancements to logging features in GlassFish Server 3.1 include:
Support for configuring logging properties for individual configurations, server instances, or clusters.
The --target options for the asadmin logging subcommands have been restored from v2.1. See Logging Targets in Oracle GlassFish Server 3.1 Administration Guide for more information.
Support for collecting log files into a ZIP archive.
A new asadmin collect-log-files subcommand enables you to obtain and view log files for an instance or cluster even when it is not currently running. See Viewing Log Records in Oracle GlassFish Server 3.1 Administration Guide for more information.