The Sun GlassFishTM Enterprise Server product is a JavaTM Platform, Enterprise Edition (Java EE) 6 platform-compatible server for the development and deployment of Java EE applications and Java Web Services. Production use of this server is free of charge. Sun GlassFish Enterprise Server is free for development, deployment, and redistribution. If you are a customer who is interested in redistribution, contact Sun OEM sales for a redistribution license.
The Sun GlassFish Enterprise Server v3 Release Notes contain important information about the Enterprise Server v3 release, including information about new features, hardware and software requirements, and known issues with workarounds, if available.
Check this document prior to installing and setting up your software, and read this document before you begin using Sun GlassFish Enterprise Server v3. Consult this document periodically to view the most up-to-date documentation.
This section provides a record of changes in Sun GlassFish Enterprise Server v3 Release Notes.
Table 1–1 Revision History
Date |
Description of Changes |
---|---|
December 2009 |
Initial release. |
January 2010 |
Added information about redistribution. Added issue 11427 to Known Issues. Added issue 11428 to Known Issues. Added issue 11439 to Known Issues. Added issue 6852796 to Known Issues. |
Sun GlassFish Enterprise Server v3 provides a server for the development and deployment of Java Platform, Enterprise Edition (Java EE platform) applications and web technologies based on Java technology.
The following new features of Enterprise Server are described here:
Java EE 6 introduces the concept of profiles. A profile is a collection of Java EE technologies and APIs that address specific developer communities and application types.
The following profiles are implemented through the distributions of Sun GlassFish Enterprise Server v3:
Full Platform Profile. This profile is designed for developers who require the full set of Java EE APIs for enterprise application development. The Full Platform Profile is installed when you install Sun GlassFish Enterprise Server v3. This profile is also installed as part of the Java EE 6 SDK installation.
Web Profile. This profile contains web technologies that are part of the full platform and is designed for developers who do not require the full set of Java EE APIs. The Web Profile is installed when you install Sun GlassFish Enterprise Server v3 Web Profile. This profile is also installed with Java EE 6 Web Profile SDK.
Java EE 6 SDK distributions are available from the Java EE 6 SDK downloads page.
For the list of APIs in each profile, see Java EE 6 Standards.
In Sun GlassFish Enterprise Server v3, the GlassFish code was split into modules to provide flexibility and improved runtime performance. The modular architecture is implemented on top of OSGi Alliance standards and enables reusability of Enterprise Server v3 modules as well as other modules.
This design change allows use of only those modules that you require for the applications deployed. Runtime is used only for applications that use it, and upgrades can be implemented without a complete system reinstallation. This change minimizes startup times, memory consumption, and disk space requirements.
The modular design provides the ability to do the following:
Deploy OSGi bundles
Deploy library Java archive (JAR) files
Replace existing functionality with another implementation
A new Sun GlassFish Enterprise Server v3 container system provider interface (SPI) defines interfaces that the container developer must implement so that Enterprise Server can call into it at appropriate times. This change enables Enterprise Server users to create custom application servers by adding administrative commands and graphical add-on components.
Enterprise Server also provides streamlined support of new module types, such as Ruby on Rails.
Update Tool is now embedded in the Sun GlassFish Enterprise Server v3 Administration Console. This tool facilitates managing add-on components and related applications that are available for extending Enterprise Server v3 functions.
The Administration Console provides access to the Update Tool page through the navigation tree. The Update Tool page provides tabs to display the following:
Components that are installed
Updates that are available for installed components
Add-on components that are available and can be installed
Integration of Update Tool in the Administration Console enables administrators to easily extend Enterprise Server and view available updates. A standalone version of Update Tool is also available using the updatetool command. For more information about Update Tool, see Update Tool in Sun GlassFish Enterprise Server v3 Administration Guide.
You cannot update existing components using the Update Tool interface in the Administration Console. To update or remove installed components, you must use the standalone command-line version or the pkg command.
Update Tool is developed through the Update Center project. The Administration Console uses the Update Center 2.3 API to display a list of available components, versions, and dates. For information about Update Center 2.3, see the Release Notes for Update Center 2.3 .
Update Tool differs from Upgrade Tool, which is used to migrate the configuration and deployed applications from an earlier version of Enterprise Server to the current version. For more information about Upgrade Tool, see the Sun GlassFish Enterprise Server v3 Upgrade Guide.
To facilitate rapid application development and deployment, Sun GlassFish Enterprise Server v3 supports a variety of scripting languages. The use of scripting languages enables Enterprise Server to be applied beyond developments that are centered on Java technology. Supported scripting languages include the following:
JRuby and Rails: A scripting language and a framework for developing web applications
Grails: A web application framework that leverages the Groovy programming language and complements Java web development
Jython and Django: A Java implementation of the Python language and a web framework for Python and implementations of Python (such as Jython)
jMaki: A framework for creating Ajax web applications
Support for these scripting languages is provided by components that are available through Update Tool.
Sun is working closely with Microsoft to ensure interoperability of Web services enterprise technologies such as message optimization, reliable messaging, and security. WSIT is a product of this joint effort. WSIT is part of Metro 2.0, a high-performance, extensible web service stack that offers interoperability with Microsoft .NET 3.5. Metro 2.0 is included in the full distribution of Enterprise Server v3.
WSIT is an implementation of a number of open web services specifications to support enterprise features. In addition to message optimization, reliable messaging, and security, WSIT includes a bootstrapping and configuration technology. Starting with the core XML support currently built into the Java platform, WSIT uses or extends existing features and adds new support for interoperable web services, including:
Bootstrapping and Configuration
Message Optimization Technology
Reliable Messaging Technology
Security Technology
In this release, the appclient utility is enhanced as follows:
The appclient utility accepts an alternate command-line syntax that is similar to the syntax of the Java application launcher (java).
The -targetserver option is added to enable the server and port number of the target to be specified.
Splash screens in application clients are supported.
For more information, see the appclient(1M) man page.
Sun GlassFish Enterprise Server v3 uses EclipseLink as its Java Persistence API (JPA) 2.0 provider. EclipseLink is also the Reference Implementation for JSR 317. For the most recent information regarding EclipseLink functionality, see the EclipseLink 2.0 Release Notes.
In Sun GlassFish Enterprise Server v3, most HTTP Service settings have been moved into the new Network Service configuration. For more information, see the Sun GlassFish Enterprise Server v3 Upgrade Guide.
In Sun GlassFish Enterprise Server v3, you are not prompted for administration credentials by default. This is a change from previous releases.
If you install Enterprise Server using the ZIP file, you will not be prompted for administration credentials when you launch the Administration Console or use the asadmin utility and remote subcommands to perform administrative tasks.
If you install Enterprise Server v3 using the self-extracting file and graphical installer, you will not be prompted for administration credentials unless you specified a user name and password on the Administration Settings page during installation. If you accepted the defaults on that page, the default administrative user is admin and the password field is left empty.
If there is only one admin user with no password, unauthenticated logins are permitted. For more information about administrator authentication, see To Log In to a Domain in Sun GlassFish Enterprise Server v3 Administration Guide.
Administrator authentication requirements can be changed after Enterprise Server has been installed. For information about using the Administration Console to perform this and related tasks, see the Administration Console online help. For information about using the command-line interface, see Administering Passwords in Sun GlassFish Enterprise Server v3 Administration Guide.
The behavior of the asadmin utility has been modified to emphasize the distinction between options for the asadmin utility itself and options for its subcommands. Options for the asadmin utility itself are now allowed before the subcommand. However, for compatibility with other releases, options for the asadmin utility itself are still allowed after the subcommand, but such syntax is deprecated.
For more information, see Using the asadmin Utility in Sun GlassFish Enterprise Server v3 Administration Guide.
Sun GlassFish Enterprise Server v3 includes the following file layout changes from previous releases:
The default installation directory is as follows:
Solaris, Linux, and Mac OS X systems: user's-home-directory/glassfishv3
Windows systems: SystemDrive:\glassfishv3
A glassfish subdirectory has been added, with other subdirectories underneath.
Product libraries have moved from glassfish/lib to glassfish/modules.
An osgi directory has been added.
A designated directory for legal files has been added. License and copyright files are now in glassfish/legal.
Sun GlassFish Message Queue is installed in a top-level directory instead of a subdirectory.
Java DB is installed in a top-level directory instead of a subdirectory.
Sun GlassFish Enterprise Server v3 provides server-specific Ant tasks, for which Ant must be installed. The asant utility is not included in the release.
Enterprise Server is compatible with Apache Ant versions 1.6.5 or greater. If Ant is not installed, you can install it using Update Tool.
For more information about Update Tool, see Update Tool in Sun GlassFish Enterprise Server v3 Administration Guide. For more information about Ant tasks, see Chapter 3, Using Ant with Enterprise Server, in Sun GlassFish Enterprise Server v3 Application Development Guide.
Because Sun GlassFish Enterprise Server v3 is modular and extensible, the domain.xml file cannot be validated against a static DTD file. Instead, the domain.xml file is validated against @Configured annotations in the source code. For more information about the structure of the domain.xml file, see the Sun GlassFish Enterprise Server v3 Domain File Format Reference.
Application-related differences exist between Enterprise Server v3 and Enterprise Server v2. This section describes some of those differences.
The default value of the force option for deployment is false in Enterprise Server v3. This default value was true in Enterprise Server v2. In Enterprise Server v3 you must explicitly set the option to true for redeployment. This option is not automatically set during the upgrade process. The purpose of this change is to avoid accidentally overwriting the contents of an existing application. This applies to both the Administration Console and command-line utility.
The asadmin redeploy command is also new in Enterprise Server v3 and offers an equivalent to --force=true. The force option is only applicable to the deploy command (command-line interface) and the deploy screen (console), not to the redeploy command and redeploy screen.
Enterprise Server v2 contained two subdirectories for the applications repository: applications/j2ee-apps and applications/j2ee-modules. Those subdirectories do not exist in Enterprise Server v3 (there is no j2ee-apps or j2ee-modules level). Deployment of a standalone module such as foo.war, which resided in applications/j2ee-modules/foo in Enterprise Server v2, now resides in applications/foo in Enterprise Server v3. Enterprise applications and standalone modules essentially share the same name space, so the intermediate directory layer was not necessary.
Previous elements such as web-module, ejb-module, and so on are deprecated in Enterprise Server v3 and replaced with the new application element. For more information about the application element, see application in Sun GlassFish Enterprise Server v3 Domain File Format Reference.
During an upgrade, Enterprise Server v2 applications are redeployed at the new applications/ location with the new application element in domain.xml. Any new applications deployed on Enterprise Server v3 will be deployed with the new directory structure and element.
Java EE 6 imposes stricter JAR visibility rules than did Java EE 5. As a result, some older applications might fail.
The Java EE 6 specification imposes strict rules about which JAR files are visible from an enterprise archive (EAR) file. See especially section EE.8.3.3. Specifically, application client modules should not have access to any EJB JAR file unless the application client JAR file's manifest Class-Path refers to the EJB JAR file(s) explicitly.
This is a change from Enterprise Server v2, in which application clients automatically had access to all EJB JAR files in the EAR file and all JAR files at the top level of the EAR file. To comply with the stricter specification language, Enterprise Server v3 cannot automatically provide application clients with access to these JAR files.
This new, stricter behavior imposed by Java EE 6 can be addressed as follows:
If the application is deployed to an Enterprise Server v2 domain, Upgrade Tool will preserve the Enterprise Server v2 behavior for that application in that domain. For more information about upgrading, see Sun GlassFish Enterprise Server v3 Upgrade Guide.
Change the manifest Class-Path of the client so it refers explicitly to the JAR files on which it depends. The Class-Path must not list JAR files in the EAR file's library directory. As required by the specification, all JAR files in that directory are available to all modules in the EAR file. This directory is /lib by default, or can be set to some other directory using library-directory in the application.xml descriptor.
Deploy the EAR file using the optional --property compatibility=v2 setting. This preserves the Enterprise Server v2 behavior for that application when it is deployed to Enterprise Server v3.
This change in behavior is also discussed in Chapter 1, Application Server Compatibility Issues, in Sun GlassFish Enterprise Server v3 Upgrade Guide.
In Sun GlassFish Enterprise Server v3, running the deploy --retrieve and get-client-stubs commands no longer downloads just one JAR file to your local directory as in Enterprise Server v2. While localdir/myAppClient.jar is still created in Enterprise Server v3 and can be used as a target in the appclient command, another directory is also created, localdir/myAppClient, which in turn might contain other files.
If you typically copy the single Enterprise Server v2 downloaded JAR file as a way to move the application client components from one place to another, that will not work in Enterprise Server v3. The supported method is to use the asadmin get-client-stubs command for that purpose. For more information about the command, see get-client-stubs(1).
If you still choose to copy, however, you must copy not only the localdir/myAppClient.jar file (as in Enterprise Server v2), but also all of the contents of the localdir/myAppClient directory.
This section lists the requirements that must be met before installing the Sun GlassFish Enterprise Server v3 product.
Sun GlassFish Enterprise Server v3 requires a minimum of 200 Mbytes of free disk space to install, and 100 Mbytes of free memory to run.
The following table lists supported operating systems and provides minimum memory, recommended memory, minimum disk space, recommended disk space, and Java virtual machine for each.
As listed below, Enterprise Server requires JDKTM release 6. The minimum (and certified) version of the JDK 6 software that is required depends on the operating system. For platform-specific requirements, see Required JDK Version.
Table 1–2 Supported Operating Systems
Operating System |
Minimum Memory |
Recommended Memory |
Minimum Disk Space |
Recommended Disk Space |
Java Virtual Machine |
---|---|---|---|---|---|
SolarisTM Operating System |
|||||
Solaris 10 (SPARCTM platform) |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32- and 64-bit |
Solaris 10 (x86 platform) |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32- and 64-bit |
OpenSolarisTM 2009.06 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 |
Linux |
|||||
Red Hat Enterprise Linux 5.0 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32- and 64-bit |
Red Hat Enterprise Linux 4.0 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32-bit |
SUSE Linux Enterprise Server 10 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32-bit |
Ubuntu Linux 8.04 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32-bit |
Windows |
|||||
Windows 7 Professional |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32- and 64-bit |
Windows XP Professional SP3 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32-bit |
Windows 2008 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32-bit |
Windows Vista Business |
1 GB |
2 GB |
250 MB free |
500 MB |
JDK 6 32-bit |
Mac OS |
|||||
Mac OS X 10.5 and 10.6 |
1 GB |
2 GB |
250 MB free |
500 MB free |
JDK 6 32-bit |
On UNIX® platforms, you can check your operating system version by using the uname command. Disk space can be checked by using the df command.
Use the NTFS file system rather than FAT or FAT32 when running Enterprise Server on any Microsoft Windows platform.
System virtualization is a technology that enables multiple operating system (OS) instances to execute independently on shared hardware. Functionally, software deployed to an OS hosted in a virtualized environment is generally unaware that the underlying platform has been virtualized. Sun performs testing of its Sun Java System products on select system virtualization and OS combinations to help validate that the Sun Java System products continue to function on properly sized and configured virtualized environments as they do on non-virtualized systems. For information about Sun support for Sun Java System products in virtualized environments, see System Virtualization Support in Sun Java System Products.
Your temporary directory must have enough free space for the installation of the following software:
Sun GlassFish Enterprise Server: 35 MB minimum
SDK: 250 MB minimum
You must have seven unused ports available.
The installation program automatically detects ports that are in use and suggests currently unused ports for the default settings.
The initial default port assignments are listed in the following table. If these default port numbers are in use, the installation program assigns a randomly selected port number from the dynamic port range. The selected port number might not be the next available port number.
Table 1–3 Default Port Assignments for Enterprise Server v3
Port Number |
Usage |
---|---|
4848 |
Administration Console |
8080 |
HTTP |
8081 |
HTTPS |
8686 |
Pure JMX clients |
3700 |
IIOP |
3820 |
IIOP/SSL |
3920 |
IIOP/SSL with mutual authentication |
If you are using the Solaris 10 operating system, you must apply the appropriate patch for your platform as listed in the following table.
Platform |
Patch Number |
---|---|
SPARC platform |
119963-08 |
x86 platform |
119964-08 |
You must also ensure that the Sun recommended patch cluster is applied.
These patches and the patch cluster are available from the SunSolveSM program web site.
To obtain a patch, click the PatchFinder link and then use the Patch ID field to find the patch.
To obtain a patch cluster, click the Patch Cluster and Patch Bundle Downloads link in the Downloads section, and then the link for recommended patch clusters.
Installation of Sun GlassFish Enterprise Server v3 requires JDK release 6.
The minimum (and certified) version of the JDK software that is required for Enterprise Server depends on the operating system:
For supported operating systems except Mac OS X, the minimum required version is 1.6.0_17.
For the Mac OS X operating system, the minimum required version is 1.6.0_15.
The following binary files that are used with Enterprise Server must come from the JDK software, not the Java Runtime Environment (JRETM) software:
java
keytool
To meet this requirement, ensure that the bin directory of the JDK software precedes the bin directory of the JRE software in your path.
The following table lists the databases and drivers that are supported in this release. All supported configurations of the Sun GlassFish Enterprise Server v3 must contain at least one combination of database and driver from this table, such as the Java DB and driver. In addition, Enterprise Server is designed to support connectivity through Java DataBase Connectivity (JDBCTM) technology to any additional database management system (DBMS) with a corresponding driver that supports the JDBC API (JDBC driver).
Table 1–4 Supported JDBC Drivers and Databases
JDBC Driver Vendor |
JDBC Driver Type |
Supported Database Server |
---|---|---|
MySQL Connector/J Driver 5.1 |
Type 4 |
MySQL 5.1 |
Java DB 10.5.3.0 |
Type 4 |
Java DB 10.5.3.0 |
Oracle 11 |
Type 2 and Type 4 |
Oracle 11 |
PostgreSQL 8.4 |
Type 4 |
PostgreSQL 8.4 |
DB2 9.7 |
Type 2 |
DB2 9.7 |
Sun, DataDirect 4.0 |
Type 4 |
Sybase ASE 15 |
Sun, DataDirect 4.0 |
Type 4 |
DB2 9.7 |
Sun, DataDirect 4.0 |
Type 4 |
Microsoft SQL Server 2008 |
Sun, DataDirect 4.0 |
Type 4 |
MySQL 5.1 |
The following table lists supported browsers and versions.
Table 1–5 Supported Web Browsers
Browser |
Version |
---|---|
Firefox |
2.0, 3.0 |
Internet Explorer |
7.0, 8.0 |
Safari |
3.2, 4.0 |
Sun GlassFish Enterprise Server v3 supports mod_jk 1.2.x, with a minimum of 1.2.26.
This section describes known issues in Sun GlassFish Enterprise Server v3 and workarounds if available.
[JDK_Issue] Performance degradation caused by invoking setSoLinger or setReuseAddress (Issue 7109)
[JDK_Issue] Null pointer exception on server restart (Issue 8299)
[JDK_Issue] IO exception: invalid argument during longevity test (Issue 7529)
[JDK_Issue] EPoll null pointer exception at startup (Issue 9472)
[JDK_ISSUE] Richaccess: java.io.IOException: Invalid argument from doSelect (Issue 8573)
File permissions on domain /applications directory can cause NullProcessException (Issue 6545)
Access to statistics for new virtual servers requires server restart (Issues 6238 and 6422)
[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)
Null pointer exception thrown from com.sun.xml.wss.NonceManager.getInstance (Issue 11138)
Standalone Update Tool fails with segmentation fault on Solaris (Issue 11222)
Ruby applications deployed on context root don't work with Admin Console (Issue 10854)
Launching an app client can give ClassNotFound error for the client's main class (Issue 11181)
Change to log file location requires server restart to take effect (Issue 11142)
[Update Center] Non-user directory access fails (Update Center Issue 1583)
Inline help and CLI man page list incorrect servlet version 2.4 in X-Powered-By (Issue 11011)
[Monitoring] Extra monitoring view for connector-connection-pools not available (Issue 11256)
[EclipseLink] Issues with ElementCollections of embeddables (EclipseLink Issue 296606)
EJB interop for remote EJBs broken when target EJB is on the same host (Issue 11152)
Installer hangs at 41% intermittently on Windows Vista and Windows 7 (Issue 11185)
Embedded ACC overly strict on current thread context class loader (Issue 11427)
Expired certificate in Enterprise Server truststore (Issue 6852796)
When the setSoLinger method or the setReuseAddess method is invoked, performance is degraded and the following exception is thrown:
[#|2009-01-26T00:33:56.325-0800|WARNING|sun-appserver9.1| javax.enterprise.system.container.web|_ThreadID=17; _ThreadName=SelectorReaderThread-8084; _RequestID=11ae0030-c392-4217-8408-cfa7efe0a879;|setSoLinger exception java.net.SocketException: Invalid argument |
This issue is caused by an issue with the JDK software. This issue is resolved in JDK version 7.
For more information, see Issue report.
None.
Restarting Enterprise Server sometimes causes a null pointer exception to be thrown.
SEVERE: doSelect exception java.lang.NullPointerException |
This issue is caused by an issue with the JDK software. This issue is resolved in JDK version 7.
For more information, see Issue report.
None.
During an HTTP longevity test, the following exception is thrown 42 hours into the run:
[#|2009-04-05T17:41:26.537-0700|SEVERE|glassfish|javax.enterprise.system.core| _ThreadID=15;_ThreadName=Thread-1;|doSelect exception java.io.IOException: Invalid argument |
The instance and application are still accessible during the run.
This issue is caused by an issue with the JDK software. This issue is resolved in JDK version 7.
For more information, see Issue report.
None.
At startup, Enterprise Server throws a null pointer exception:
java.lang.NullPointerException at sun.nio.ch.Util.atBugLevel(Util.java:326) at sun.nio.ch.SelectorImpl.<init>(SelectorImpl.java:40) at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:47) |
This relates to Grizzly and is a JDK 6 issue. This issue is resolved in JDK 7.
For more information, see Issue report.
None. Grizzly tries to work around this issue but still may fail.
The following exception is seen:
[#|2009-06-20T06:05:57.942-0700|SEVERE|glassfish| com.sun.grizzly.config.GrizzlyServiceListener| _ThreadID=21;_ThreadName=Thread-2;|doSelect IOException java.io.IOException: Invalid argument |
This is a JDK issue, scheduled to be fixed in JDK 1.6.0_18.
For more information, see Issue report.
Increase the maximum number of file descriptors to 10000 or greater (the default on Solaris is 64000). Once JDK 1.6.0_18 becomes available, install it.
If a domain's /applications directory restricts access, or if you use directory deployment from a restricted directory, the server cannot read the files in the expanded directory. A NullProcessException error occurs during deployment.
For more information, see Issue report.
Change the file access settings for such directories to grant the server permission to read the directory contents.
The time-stamp-install.log file cannot be read, because all lines written to the file are concatenated into a single long string.
For more information, see Issue report.
Use a different editor, and manually open the installation log file created under the %TEMP% directory.
Monitoring statistics about newly added virtual servers are available only after the server is restarted.
For more information, see the reports for Issue 6238 and Issue 6422.
After adding a virtual server, restart the server to view monitoring data for the virtual server.
Option -l to relocate log files is ignored when used with options -a and -s and the log files are created in the default location.
For more information, see Issue report.
None.
Some features will not work well on Windows Vista with User Account Control (UAC) enabled. One example is the Administration Console, which cannot be launched.
For more information, see Issue report.
Disable UAC and reboot.
Testing a JAX-RPC web service, with GlassFish message security provider enabled, throws the following exception in the server logs:
[#|2009-11-23T11:16:58.375+0005|SEVERE|glassfishv3.0| javax.enterprise.resource.webservices.rpc.server.http|_ThreadID=25;_ ThreadName=http-thread-pool-8080-(2);|caught throwable java.lang.RuntimeException: com.sun.enterprise.security.jauth.AuthException |
The default value of the nonce property does not work.
For more information, see Issue report.
To use message security with JAX-RPC web services, disable the nonce property in the configuration. See the Issue report for the complete steps for the workaround.
The Start menu group for Enterprise Server is not displayed after installation is first completed. If you log out and then log back in, the menu group is displayed but it is empty.
For more information, see Issue report.
None.
The command asadmin get -m "server.*" returns all monitoring data pertaining to that server. When many applications are deployed, the amount of data is quite large and could take a long time to return. The client might time out with the following client-side error:
./asadmin get --monitor=true "server.*" I/O Error: Read timed out Command get failed. |
For more information, see Issue report.
Minimize the amount of data that is returned to the client.
Run the asadmin list -m "server.*" command, which returns the top-level elements.
Select the top-level element for which details are needed, and use this as a filter. For example:
> ./asadmin list -m "server.*" ... server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-cache server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods. create-int-int-[Lorg\.spec\.jappserver\.supplier\.helper\.ComponentOrder server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods. findByPrimaryKey-java\.lang\.Integer server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.generateXml server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.getEJBLocalHome ... >./asadmin get -m "server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.*" ... server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove. methodstatistic-name = MethodStatistic server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove. methodstatistic-starttime = 1259604209775 ... |
The standalone Update Tool started with the updatetool command fails with a segmentation fault on Solaris when installing add-on components.
For more information, see Issue report.
Ensure that your system conforms to the standalone Update Tool patch requirements as defined in the Update Center Release Notes.
Update Tool functionality in the Administration Console uses a different Java-based Update Center API and is not affected by this issue.
If a Ruby application is deployed at contextroot '/' and the Administration Console is then accessed, accessing the Ruby application produces a 404 error.
For more information, see Issue report.
None.
When using Java Web Start to launch an application client, any managed beans in the application client will not be recognized.
For more information, see Issue report.
Launch the application client using the appclient script. Managed beans in the application client will be supported normally.
When you invoke the appclient script on Mac OS X systems with Java from Apple installed, the following stack trace is seen twice (only the first few lines are shown here):
Intentionally suppressing recursive invocation exception! java.lang.IllegalStateException: recursive invocation at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1394) at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1377) at sun.security.jca.ProviderConfig$1.run(ProviderConfig.java:64) ... |
For more information, see Issue report.
None needed.
Despite the warning messages, the client will be launched successfully and run normally. These errors are from an issue in the Apple Java implementation.
A problem occurs when all of the following are true:
The application is an EAR that contains an app client.
The EAR is directory deployed.
The EAR contains an application client module myAppClient.jar, which, because this is a directory deployment, is pre-expanded into myAppClient_jar. (For the purposes of this example, myApp is the name of the EAR. This name can be anything.)
Attempts to launch the application client fail with the following error because one file generated on the server is placed in the wrong server directory and overwrites another generated file:
java.lang.ClassNotFoundException:(main-class-for-the-client) |
For more information, see Issue report.
Change the name of the application client so it is not myAppClient.jar. Specifically:
Edit myApp/META-INF/application.xml so that the declaration of the client is <java>myClient.jar</java>. Note that you can use any name other than myAppClient.jar.
Rename the directory myApp/myAppClient_jar to myApp/myClient_jar. Note that the client's subdirectory name must be the same as the application client URI in the application.xml file, with the .jar replaced with _jar.
Deploy the application:
asadmin deploy --retrieve localdir myApp |
Run the application client:
appclient -client localdir/myAppClient.jar |
Changes to server log values on the General tab of the Logger Settings page in the Administration Console do not immediately take effect.
For more information, see Issue report.
Restart the server. All changes to the values on this page require a server restart to take effect.
Installation log files cannot be opened by clicking the links on the Summary page that displays at the end of the installation process in the graphical installer.
For more information, see Issue report.
Access the files manually. The names of the installation log and summary files are timestamp-install.log and timestamp-install-summary.html. On Linux and Mac systems these files are generated under the $TMP directory.
If you reinstall Enterprise Server (with Update Tool) in the same installation directory with the same defaults and invoke Update Tool using the updatetool command, you receive a message saying that Update Tool is not installed and are asked if you want to install it. This occurs on Windows systems only.
For more information, see Issue report.
Following uninstallation, manually remove the remaining .org* directory before reinstalling.
This issue occurs intermittently on Windows and Mac OS systems. pkg(5) does not work on certain systems at certain times.
For more information, see Update Center Issue report.
None.
The inline help and CLI man page list servlet 2.4 in the X-Powered-By field. The correct version is servlet 3.0.
For more information, see Issue report.
None.
When using embedded with glassfish-embedded-all-3.0-b73.jar, deployment fails with the following error:
SEVERE: WEB9051: Error trying to scan the classes at /private/var/folders/CV/CVhj8DvqEwGK5bdJKK9TaE TI/-Tmp- /gfembed6991712842235699248tmp/applications/xwiki-enterprise-web-2.0/ WEB-INF/lib/activation-1.1.jar for annotations in which a ServletContainerInitializer has expressed interest java.util.zip.ZipException: error in opening zip file |
The issue occurs because embedded uses a folder with plus signs (+), and plus signs in a path are converted into space characters " " when the path is decoded.
For more information, see Issue report.
A system property has been added that enables you to place temporary directories. The property is glassfish.embedded.tmpdir and can be set so the temporary domain directory is not placed in the user directory.
create-service fails to create service without AS_ADMIN_USER in passwordfile on Solaris.
For more information, see Issue report.
None.
Enterprise Server uses a tree structure to track monitorable objects. Within that tree, the following view is not available to obtain connection pool statistics:
server.connector-service.resource-adapter-name.connection-pool-name.* or server.jms-service.connection-factories.connection-factory-name.* (for jms-ra-related pools).
For more information, see Issue report.
Use the server.resources.* view to obtain the statistics.
For more information about Monitoring, see Chapter 8, Administering the Monitoring Service, in Sun GlassFish Enterprise Server v3 Administration Guide.
With weaving enabled, updates on an element collection of embeddables can potentially throw a null pointer exception.
For more information, see EclipseLink Issue report.
Two workarounds are available:
Add the annotation @ChangeTracking(DEFFERED) on the embeddable and set the property eclipselink.weaving.internal to false, or
Set the following properties to false in persistence XML: eclipselink.weaving.changetracking and eclipselink.weaving.internal.
After starting the domain and accessing localhost:4848, the following messages are seen in the server log:
[#|2009-11-27T16:21:57.091+1100|INFO|glassfishv3.0| javax.enterprise.system.container.web.com.sun.enterprise.web| _ThreadID=20;_ThreadName=Thread-1;|Created virtual server server|#] |
[#|2009-11-27T16:21:57.091+1100|INFO|glassfishv3.0| javax.enterprise.system.container.web.com.sun.enterprise.web| _ThreadID=20;_ThreadName=Thread-20;|Created virtual server server|#] |
These messages give the impression that the virtual server, server, was started twice. This is not the case. Virtual servers are only started once, but messages are logged multiple times.
For more information, see Issue report.
None.
Debugging JPA is difficult because of limited messages from the server.
For more information, see Issue report.
Add the property org.eclipse.persistence.session.level=INFO to the logging.properties file. You can then use the Administration Console to control EclipseLink loggers.
EJB interoperability for remote EJBs is broken when the target EJB is on the same host (another Enterprise Server domain or another Enterprise Server v3 instance).
For more information, see Issue report.
Set the following property in jvm-options:
-Dorg.glassfish.orb.iiop.orbserverid=:
The Enterprise Server graphical installer hangs at 41% during installation on Windows Vista and Windows 7. This does not happen with every installation attempt.
For more information, see Issue report.
This issue is related to the auto-tuning feature in Windows Vista and Windows 7, which is enabled by default.
If you experience hangs when installing Enterprise Server initially, or when adding packages or applying updates, restrict or disable the auto-tuning feature.
By default, the default host name for the JMS service on Enterprise Server is localhost. To access the JMS service from another system, however, you must change the host name. You can change it to either the actual host name or to 0.0.0.0.
For more information, see Issue report.
To make the change, do one of the following:
Use the Administration Console: Expand the Configuration, Java Message Service, and JMS Hosts nodes, select default_JMS_host, and edit the Host field, or
Use an asadmin subcommand such as the following:
asadmin set server-config.jms-service.jms-host.default_JMS_host.host="0.0.0.0", or
asadmin set server-config.jms-service.jms-host.default_JMS_host.host="hostname"
When Enterprise Server is installed using the graphical installer, the installation completes successfully but only the top-level GlassFish v3 entry is added in the Windows system menu, and it is empty. This issue occurs with both the localized and English installers.
For more information, see Issue report.
None.
mysql is not listed in the list of supported databases in --dbvendorname in the deploy command man page. This is incorrect. MySQL is a supported database and should be listed.
For more information, see Issue report.
None.
The ACC expects the current thread's context class loader to be an ACCClassLoader. This is overly restrictive. Although this condition is met for appclient script and Java Web Start launches, it might not be met for the embedded case. Other functions inside the ACC require the class loader to be a URLClassLoader (or an instance of a subclass of URLClassLoader), but the loader does not need to be an ACCClassLoader.
For more information, see Issue report.
Two workarounds are available:
Set -Djava.system.class.loader=org.glassfish.appclient.client.acc.ACCClassLoader, or
In your Java program, instantiate an ACCClassLoader and set it to be the current thread's context class loader using Thread.currentThread().setContextClassLoader before using the embedded ACC classes and interfaces.
Able to create and store EJB timer in MySQL as user, but when trying to configure EJB Timer Service for MySQL, get the following exception (SQLException executing statement):
"CREATE TABLE EJB__TIMER__TBL (TIMERID VARCHAR(255) NOT NULL, BLOB BLOB(64000), INITIALEXPIRATIONRAW BIGINT, SCHEDULE VARCHAR(255), INTERVALDURATION BIGINT, OWNERID VARCHAR(255), STATE INTEGER, LASTEXPIRATIONRAW BIGINT, PKHASHCODE INTEGER, CREATIONTIMERAW BIGINT, CONTAINERID BIGINT, PRIMARY KEY (TIMERID))": com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BLOB BLOB(64000), INITIALEXPIRATIONRAW BIGINT, SCHEDULE VARCHAR(255), INTERVALDU' at line 1|#] |
For more information, see Issue report.
Make sure that the datasource-classname specified for the timer pool represents an XA DataSource.
MySQL-specific steps:
Unpack glassfishv3/glassfish/lib/install/applications/ejb-timer-service-app.war.
Add the following to WEB-INF/classes/__ejb_timer_mappings.xml after <persistence-unit-metadata>:
<persistence-unit-defaults> <delimited-identifiers/> </persistence-unit-defaults>
Repackage the WEB-INF/classes/__ejb_timer_mappings.xml file.
(This step required only if the current installation has already used the EJB Timer Service.) Manually create the EJB__TIMER__TBL in the database using this create statement:
CREATE TABLE `EJB__TIMER__TBL` (`TIMERID` VARCHAR(255) NOT NULL, `BLOB` BLOB(64000), `INITIALEXPIRATIONRAW` BIGINT, `SCHEDULE` VARCHAR(255), `INTERVALDURATION` BIGINT, `OWNERID` VARCHAR(255), `STATE` INTEGER, `LASTEXPIRATIONRAW` BIGINT, `PKHASHCODE` INTEGER, `CREATIONTIMERAW` BIGINT, `CONTAINERID` BIGINT, PRIMARY KEY (`TIMERID`))
The deploy subcommand fails against a secure server unless the --secure option is used.
For more information, see Issue report.
Use the --secure option when issuing the deploy subcommand against a secure server.
One of the authority certificates in the Enterprise Server truststore expired on January 7, 2010. The certificate is cacerts.jks. An error message is generated on startup indicating that the certificate has expired:
Version: V1 Subject: OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US Signature Algorithm: MD2withRSA, OID = 1.2.840.113549.1.1.2 Key: SunPKCS11-Solaris RSA public key, 1000 bits (id 17891456, session object) modulus: public exponent: Validity: [From: Tue Nov 08 19:00:00 GMT-05:00 1994, To: Thu Jan 07 18:59:59 GMT-05:00 2010] Issuer: OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US SerialNumber: [ 02ad667e 4e45fe5e 576f3c98 195eddc0] |
For more information, see Issue report.
The expired authority certificate was removed in update 18 of Java SE 6. It will also be removed from the Enterprise Server truststore in a future update.
You can ignore the error messages and use the update, or you can eliminate the error messages. To stop receiving the error messages, use keytool to remove the certificate from the Enterprise Server truststore:
=> cd domains/domainX/config => cp cacerts.jks cacerts.jks.save => keytool -delete -keystore cacerts.jks -alias verisignserverca Enter keystore password: |
To prevent the expired certificate from reappearing in subsequently created domains, the certificate should also be removed from the template truststore:
=> cd glassfish/lib/templates => cp cacerts.jks cacerts.jks.save => keytool -delete -keystore cacerts.jks -alias verisignserverca Enter keystore password: |
For more information about the keystore password, see the information about master passwords and keystores in Authentication in Sun GlassFish Enterprise Server v3 Administration Guide.
This section describes the following Sun GlassFish Enterprise Server v3 restrictions:
The help for asadmin commands describes some options that are not supported by Sun GlassFish Enterprise Server v3. For example:
Options that relate to clusters and multiple server instances, for example, the --target option
Options that relate to profiles, for example, the --profile option
If you specify an unsupported option, a syntax error does not occur. Instead, the command runs successfully, and the unsupported option is silently ignored.
By default, Enterprise Server uses Client VM to achieve best startup and deployment performance. If you are using Windows AMD64, edit the domain.xml file to remove the line <jvm-options>–client<jvm-options>. In this case, JVM ergonomics chooses the appropriate kind of VM for the given platform.
For more information about platform support, see Ergonomics in the 5.0 Java Virtual Machine.
The following table provides titles and short descriptions of books in the Enterprise Server documentation set.
Table 1–6 Books in the Enterprise Server Documentation Set
Book Title |
Description |
---|---|
Provides late-breaking information about the software and the documentation. 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 Enterprise Server product. |
|
Explains how to install the software and its components. |
|
Explains how to upgrade to the latest version of Enterprise Server. This guide also describes differences between adjacent product releases and configuration options that can result in incompatibility with the product specifications. |
|
Explains how to configure, monitor, and manage Enterprise Server subsystems and components from the command line by using the asadmin(1M) utility. Instructions for performing these tasks from the Administration Console are provided in the Administration Console online help. |
|
Explains how to assemble and deploy applications to the Enterprise Server and provides information about deployment descriptors. |
|
Provides a short tutorial for beginning Java EE programmers that 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 JavaBeansTM specification, a JAX-RS web service, and a JavaServerTM Faces component for the web front end. |
|
Explains how to create and implement Java Platform, Enterprise Edition (Java EE platform) applications that are intended to run on the Enterprise Server. These applications follow the open Java standards model for Java EE components and APIs. This guide provides information about developer tools, security, and debugging. |
|
Explains how to use published interfaces of Enterprise Server to develop add-on components for Enterprise Server. This document explains how to perform only those tasks that ensure that the add-on component is suitable for Enterprise Server. |
|
Explains how to run applications in embedded Enterprise Server and to develop applications in which Enterprise Server is embedded. |
|
Explains how to develop scripting applications in languages such as Ruby on Rails and Groovy on Grails for deployment to Enterprise Server. |
|
Describes common problems that you might encounter when using Enterprise Server and how to solve them. |
|
Describes error messages that you might encounter when using Enterprise Server. |
|
Provides reference information in man page format for Enterprise Server administration commands, utility commands, and related concepts. |
|
Describes the format of the Enterprise Server configuration file, domain.xml. |
|
Explains how to use Java EE 6 platform technologies and APIs to develop Java EE applications. |
|
Describes new features, compatibility issues, and existing bugs for Sun GlassFish Message Queue. |
|
Explains how to set up and manage a Sun GlassFish Message Queue messaging system. |
|
Describes the application programming interface in Sun GlassFish Message Queue for programmatically configuring and monitoring Message Queue resources in conformance with the Java Management Extensions (JMX). |
|
Summarizes Sun support for Sun Java System products when used in conjunction with system virtualization products and features. |
The following features of Sun GlassFish Enterprise Server v3 are available only in the Full Platform Profile:
EJB features that make up the full EJB 3.1 API, such as remote EJB components, message-driven beans, web service EJB endpoints, and the EJB Timer Service
The EJB 3.1 Lite specification is supported in the Web Profile. This specification allows enterprise beans within web applications and includes support for local stateless session beans, stateful session beans, and singleton session beans.
Application Client Container
JMS resources
Web services
In the Web Profile, a servlet or EJB component cannot be a web service endpoint. The sun-web.xml and sun-ejb-jar.xml elements that are related to web services are ignored.
Message security
JavaMail resources
Connector modules that use only outbound communication features and work-management that does not involve inbound communication features are supported in the Web Profile. Other connector features are supported only in the Full Platform Profile.
Sun GlassFish Enterprise Server v3 implements the Java EE standards listed in the following table. The table also indicates the distributions in which the implementation of a standard is available.
X indicates that the implementation is available in the distribution.
- indicates that the implementation is not available in the distribution.
Java EE Standard |
Java Specification Request (JSR) |
Sun GlassFish Enterprise Server v3 Full Platform Profile |
Sun GlassFish Enterprise Server v3 Web Profile |
---|---|---|---|
X |
X |
||
X |
X |
||
X |
X |
||
Expression Language 2.2 |
X |
X |
|
Debugging Support for Other Languages 1.0 |
X |
X |
|
X |
X |
||
X |
X |
||
Common Annotations for the Java Platform 1.1 |
X |
X |
|
X |
X |
||
X |
X |
||
X |
X |
||
Managed Beans 1.0 |
X |
X |
|
Interceptors 1.1 |
X |
X |
|
Dependency Injection for Java 1.0 |
X |
X |
|
X |
X |
||
Contexts and Dependency Injection for Java EE 1.0 |
X |
X |
|
X |
X |
||
Bean Validation 1.0 |
X |
- |
|
X |
- |
||
X |
- |
||
X |
- |
||
Implementing Enterprise Web Services 1.3 |
X |
- |
|
Web Services Metadata for the Java Platform 2.1 |
X |
- |
|
X |
- |
||
X |
- |
||
X |
- |
||
Java Authentication Service Provider Interface for Containers 1.1 |
X |
- |
|
X |
- |
||
X |
- |
||
X |
- |
||
Java API for XML-Based Registries (JAXR) 1.0 |
X |
- |
Building on these standards, Enterprise Server v3 provides a number of extensions, including the following:
Ajax (asynchronous JavaScript and XML): Retrieves and displays new data for a portion of a web page without affecting the rest of the page.
Metro: A web services stack that implements Java Architecture for XML Binding (JAXB) and Java APIs for XML Web Services 2.1 (JAX-WS 2.1).
Grizzly: A framework for building scalable and robust servers using New I/O (NIO) APIs, which make scaling to thousands of users possible. The ability to embed components that support HTTP, Bayeux Protocol, Java Servlet API, and Comet is provided.
Enterprise Server v3 is available as part of the Java EE 6 SDK. The following versions of the Java EE 6 SDK are available:
Java EE 6 SDK. This version includes Sun GlassFish Enterprise Server v3. This version is designed for developers who require the full set of Java EE APIs for enterprise application development.
Java EE 6 Web Profile SDK. This version includes Sun GlassFish Enterprise Server v3 Web Profile. This version contains web technologies that are part of the Full Platform Profile and is designed for developers who do not require the full set of Java EE APIs.
Java EE 6 SDK distributions are available from the Java EE 6 SDK downloads page.
If you have problems with Sun GlassFish Enterprise Server v3, provide feedback through one of the following mechanisms:
GlassFish mailing lists – A variety of GlassFish community mailing lists for various interests and feedback
GlassFish forum – A forum for discussing the GlassFish project
Useful information can be found at the following locations:
Third-party URLs are referenced in this document and provide additional, related information.
Sun is not responsible for the availability of third-party Web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused by or in connection with the use of or reliance on any such content, goods, or services that are available on or through such sites or resources.
To obtain accessibility features that have been released since the publication of these media, consult Section 508 product assessments available from Sun upon request to determine which versions are best suited for deploying accessible solutions. Updated versions of applications can be found at http://sun.com/software/javaenterprisesystem/get.html.
For information on Sun's commitment to accessibility, visit http://sun.com/access.