JavaScript is required to for searching.
 Skip Navigation Links Exit Print View Oracle GlassFish Server 3.1-3.1.1 Release Notes

## Known Issues

This section describes known issues and any available workarounds for Oracle GlassFish Server 3.1 and 3.1.1 software.

These known issues and workarounds are divided into these sections:

### Known Issues in GlassFish Server 3.1.1

Issues in GlassFish Server 3.1.1 also apply to GlassFish Server 3.1 unless otherwise stated.

The following topics are addressed here:

#### restart-instance takes a long time on Solaris 11 (sun.security.pkcs11.SunPKCS11) (15537)

##### Description

The asadmin restart-domain and restart-instance subcommands intermittently hang on Solaris 11 systems. This is cause by native Security SPI code in the JDK. This issue does not occur on operating systems other than Solaris 11.

##### Workaround

None. This issue does not cause any problems other than the occasional long wait for the subcommand to complete.

#### Accept multiple certs for admin authentication (16437)

##### Description

If you enabled secure admin for a GlassFish Server 3.1 domain, the domain remains enabled for secure admin when you install GlassFish Server 3.1.1.

However, GlassFish Server 3.1.1 uses a stronger technique to make sure that servers in one domain do not accidentally communicate with servers in another domain.

##### Workaround

Your updated GlassFish Server 3.1.1 domain does not use the improved domain isolation technique until you run the following command once:

asadmin> enable-secure-admin

You do not need to specify any other arguments with the command, even if you did so when you first enabled secure admin on your GlassFish Server 3.1 domain. GlassFish Server 3.1.1 automatically begins using the better algorithm from that point on.

#### tcp-no-delay attribute in Http is not working (16902)

##### Description

The tcp-no-delay attribute for HTTP type network listeners is not working properly. Setting this attribute as follows has no effect:

asadmin> set server-config.network-config.protocols.protocol.http-listener-1.http.tcp-no-delay=true
##### Workaround

Set the tcpNoDelay property of the HTTP service instead, as follows:

asadmin> set server-config.http-service.property.tcpNoDelay=true

This enables tcpNoDelay for all network listeners.

#### Invoking GF installer on AIX 6.1 with JDK6 64 bit gives Warning (16667)

##### Description

When the GlassFish Server installer is invoked on the AIX 6.1 platform with the 64–bit version of JDK 6, the following warning is displayed on the screen:

Warning: Could not detect OS Architecture, falling back to os.arch [Architecture=ppc64]
##### Workaround

None. This warning is harmless and can be ignored.

#### (JDK) NLS: Crashed when tried to install the bundle in ko locale (16699)

##### Description

Installation of the Solaris x86 SDK bundle fails in the ko and zh_TW locales.

##### Workaround

GlassFish Server users can install the ZIP distribution or temporarily switch to an unaffected locale. SDK users can install using the Update Center or temporarily switch to an unaffected locale.

#### PKG_CLIENT_READ_TIMEOUT is too small (16999)

##### Description

Installation of the Update Center sometimes times out and fails.

##### Workaround

If Update Center installation fails in the installer or when running pkg or updatetool from the command line, enter the following from the command line:

> set PKG_CLIENT_CONNECT_TIMEOUT=300
> glassfish3\bin\updatetool

#### Unable to set -server JVM options (16770)

##### Description

GlassFish Server misinterprets the following command:

asadmin> create-jvm-options -server

The command is interpreted as if the following command had been entered, using the short options for --secure and --echo:

asadmin> create-jvm-options -se
##### Workaround

To specify a JVM option that could be mistaken for one or more asadmin command short options, use a double dash before the JVM option. For example:

asadmin> create-jvm-options -- -server

This double dash tells the asadmin command to stop parsing its own short options and start parsing subcommand options.

#### cannot remote deploy large wars (15773)

##### Description

Note - This issue applies only to administrative clients sending administration messages to the domain administration server (DAS). It does not apply to end-user clients sending messages to applications.

By default, when you enable secure admin, the GlassFish Server DAS does not use SSL client certificate authentication to verify the identify of administration clients (such as the asadmin utility, browsers, or IDEs). Instead, the administrative user typically provides a username and password which authorize performance of administrative operations. To enable admin request SSL client certificate support in the DAS, set the following system property to true:

org.glassfish.admin.DASCheckAdminCert

This does not disable username and password authentication. It simply adds client SSL certificate-based authentication as another alternative the DAS can use.

If you perform the following steps, then GlassFish Server might report communication errors related to SSL:

1. Enable secure admin for the domain.

2. Enable admin request SSL client certificate support as just described.

3. Use an administration client that is not configured to send an SSL client certificate for authentication.

4. Upload a moderate or large file as part of deployment.

This can happen if the upload is in progress when the GlassFish Server DAS requests certificate information from the administration client. This happens only if the client was not configured to use an SSL certificate.

##### Workaround

To enable admin request SSL client certificate support and deploy a large file, first upload the file manually to the system where the DAS is running or store the file in a shared file system that both your system and the DAS system can access. Then do not specify --upload=true when you deploy the application. The DAS finds the file without uploading it, so the certificate negotiation between the DAS and the administration client can complete normally.

#### AIX. RichAccess stress test. Multiple ArrayIndexOutOfBoundsException and NPE in server.log files (16707)

##### Description

The following exception may occur occasionally when the web container tries to clean up expired sessions. This is due to a bug in the IBM JDK.

java.lang.ArrayIndexOutOfBoundsException
at java.util.AbstractCollection.toArray(AbstractCollection.java:353)
at org.apache.catalina.session.ManagerBase.findSessions(ManagerBase.java:907)
at org.apache.catalina.session.PersistentManagerBase.processExpires(PersistentManagerBase.java:602)

A support ticket has been filed with IBM (PMR# 79545,756,000) but no fix is yet available.

##### Workaround

None. If the above exception occurs, the expired sessions are cleaned up when the method PersistentManagerBase.processExpires is called again later. The application continues to work.

#### Fail to install the bundle named with -jdk7 when unset JAVA_HOME in solaris 11 Express x86 (16698)

##### Description

The java_ee_sdk-6u3-b05-jdk7-solaris-x86-ml.sh bundle is not installed if the JAVA_HOME or PATH environment variable is not set properly.

##### Workaround

Do one of the following:

• Add /usr/jdk/instances/jdk1.6.0/bin, the actual JDK installation location, to the PATH.

• Add the directory for a stand-alone JDK installation to the PATH.

• Set JAVA_HOME to /usr/jdk/instances/jdk1.6.0.

• Run the /usr/sbin/pkg developer/java/jdk command from the root (/) directory. If this command reports that the developer/java/jdk package is not installed, install that package before installing GlassFish Server.

#### Non-persistent timers are incorrectly canceled in a clustered environment (17060)

##### Description

If you attempt to create a non-persistent timer (through TimerService or the @Schedule annotation) and deploy it to a clustered environment, the timer is canceled before the first time it is run. GlassFish Server looks at the database to see if the timer is there, doesn't see it, and then cancels it. Non-persistent timers aren't stored in the database, so the canceling shouldn't happen.

##### Workaround

Add the system property com.sun.ejb.timer.ReadDBBeforeTimeout=false to stop GlassFish Server from checking the database before running the timer.

 Caution - This might have negative ramifications if the cluster also contains persistent timers.

#### asadmin timeout from HA short execution on AIX (16960)

##### Description

During High Availability testing on AIX, the Domain Admin Server (DAS) freezes and requires a complete restart.

#### Could not upgrade from ogs-3.1-windows-ml.exe to ogs-3.1.1-b05-windows-ml.exe in Windows 7 x86 (16700)

##### Description

Upgrading from ogs-3.1-windows-ml.exe to ogs-3.1.1-b05-windows-ml.exe in Windows 7 x86 may produce the error, Unsupported Upgrade Path.

##### Workaround

Convert the domain.xml file to native encoding before upgrading. Follow these steps:

1. Back up the domain.xml file.

2. Run the following commands:

native2ascii domain.xml domain.xml.ascii
native2ascii -reverse -encoding UTF-8 domain.xml.ascii domain.xml
3. Run the asupgrade command under c:\glassfish311\glassfish\bin\.

4. Run the following commands:

native2ascii -encoding UTF-8 domain.xml domain.xml.ascii
native2ascii -reverse domain.xml.ascii domain.xml

#### Unable to restart Embedded GlassFish Server instance once a remote EJB is deployed (16916)

##### Description

Code that performs these steps fails with ORB and EJB container exceptions at the restart step:

1. Start embedded GlassFish Server.

2. Deploy a remote EJB application.

3. Undeploy the application.

4. Stop the server.

5. Restart the server.

6. Redeploy the application.

##### Workaround

Perform these steps:

1. Start embedded GlassFish Server.

2. Deploy a remote EJB application.

3. Undeploy the application.

4. Stop the server using the dispose method.

5. Restart the host virtual machine (JVM).

6. Recreate the embedded GlassFish Server instance.

7. Redeploy the application.

#### EJB Timer Service is not loaded correctly after Embedded GlassFish Server restart (16230)

##### Description

Code that performs these steps fails at the redeploy step:

1. Start embedded GlassFish Server.

2. Deploy an application that uses the EJB Timer Service.

3. Undeploy the application.

4. Stop the server.

5. Restart the server.

6. Redeploy the application.

##### Workaround

Perform these steps:

1. Start embedded GlassFish Server.

2. Deploy an application that uses the EJB Timer Service.

3. Undeploy the application.

4. Stop the server using the dispose method.

5. Restart the host virtual machine (JVM).

6. Recreate the embedded GlassFish Server instance.

7. Redeploy the application.

#### list-secure-admin-principals and list-secure-admin-internal-users both incorrectly prompt for a command operand (17005)

##### Workaround

asadmin get "secure-admin.secure-admin-principal.*"
asadmin get "secure-admin.secure-admin-internal-user.*"

#### Switching log levels persistently breaks logging service (17037)

##### Description

Changing log levels in the Administration Console causes logging to stop. This is because the level of the com.sun.enterprise.server.logging.GFFileHandler logger is changed to OFF.

##### Workaround

Fix the com.sun.enterprise.server.logging.GFFileHandler logger level using the following command:

asadmin set-log-levels com.sun.enterprise.server.logging.GFFileHandler=ALL

Specify the --target option for a server instance other than the domain administration server (DAS).

#### Stopping Embedded GlassFish Server leaves several daemon threads running (11088)

##### Description

After you stop embedded GlassFish Server, some daemon threads continue to run. Some of these threads don't exit until the virtual machine (JVM) exits. Restarting embedded GlassFish Server repeatedly in the same JVM can cause Out of Memory errors.

Restart the JVM.

#### Administration Guide on Patching in a Closed Network Incorrectly Lists 3.0.1 Patches (13422800)

##### Description

The list of patches in To Configure a Local Repository Server Inside a Closed Network in Oracle GlassFish Server 3.1 Administration Guide is outdated.

##### Workaround

The correct list of patches should be:

Operating System
Patch ID
sunos-sparc
147902
sunos-i386
147903
linux-i386
147904
windows-i386
147907
aix-powerpc
147905
mac-universal
147906

#### Embedded EJB container returns null reference when META-INF/beans.xml is in the classpath (16285)

##### Description

A mismatch of ant.jar versions between GlassFish Server and NetBeans (or the junit classpath) can cause the embedded EJB container to fail with the following message:

SEVERE: Exception while loading the app : java.lang.IncompatibleClassChange Error:
org.apache.tools.ant.listener.MailLogger and org.apache.tools.ant.listener.MailLogger$Values disagree on InnerClasses attribute com.google.common.collect.ComputationException: java.lang.IncompatibleClassChangeError: org.apache.tools.ant.listener.MailLogger and org.apache.tools.ant.listener.MailLogger$Values
disagree on InnerClasses attribute at
com.google.common.collect.ComputingConcurrentHashMap.compute(ComputingConcurrentHashMap.java:218)

Or the following warning:

"WARNING: multiple versions of ant detected in path for junit
jar:file:/opt/netbeans-6.9.1/java/ant/lib/ant.jar!/org/apache/tools/ant/Project.class"
##### Workaround

When running GlassFish Server in embedded mode, replace ant.jar (in as-install/modules) with the one from the junit classpath or NetBeans, or temporarily rename or remove this file. Restore this file to the original when running GlassFish Server in nonembedded mode.

### Known Issues in GlassFish Server 3.1

The following topics are addressed here:

#### [OWSM] Interop Metro-WLS:NPE WSSECURTIYTOKEN NULL for WSSE:SECURITYTOKENREFERENCE (Issue 9716247)

##### Description

There is an issue with web services communication between GlassFish Server Metro and Oracle WebLogic Server when using the Oracle Web Services Manager (OWSM) wss11_saml_token_with_message_protection_service_policy policy.

##### Workaround

The fix for this problem is in Oracle WebLogic Server 11.1.1.4.0. See the Oracle WebLogic product page for more information.

#### [JDK_Issue] Performance degradation caused by invoking setSoLinger or setReuseAddress (Issue 7109)

##### Description

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

None.

#### [JDK_Issue] IO exception: invalid argument during longevity test (Issue 7529)

##### Description

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

None.

#### File permissions on domain /applications directory can cause NullProcessException (Issue 6545)

##### Description

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.

##### Workaround

Change the file access settings for such directories to grant the server permission to read the directory contents.

#### [Open Installer] Option -l to relocate log files ignored on Windows (Issue 10693)

##### Description

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.

None.

#### Issues occur with ZIP distribution if UAC enabled on Windows Vista (Issue 10755)

##### Description

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.

##### Workaround

Disable UAC and reboot.

#### [Open Installer] Start menus not displayed and then empty on Windows Vista (Issue 5087)

##### Description

The Start menu group for GlassFish 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.

None.

#### Standalone Update Tool fails with segmentation fault on Solaris (Issue 11222)

##### Description

The standalone Update Tool started with the updatetool command fails with a segmentation fault on Solaris when installing add-on components.

##### Workaround

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.

#### Java EE 6 Managed Bean support not available in app clients launched using Java Web Start (Issue 11257)

##### Description

When using Java Web Start to launch an application client, any managed beans in the application client will not be recognized.

##### Workaround

Launch the application client using the appclient script. Managed beans in the application client will be supported normally.

#### Warning messages when invoking appclient script on Mac OS X with Apple Java implementation (Issue 8644)

##### Description

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

#### updatetool command does not work if you reinstall into the same install directory on Windows (Issue 8233)

##### Description

If you reinstall GlassFish 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.

##### Workaround

Following uninstallation, manually remove the remaining .org* directory before reinstalling.

#### Problems debugging JPA (Issue 11274)

##### Description

Debugging JPA is difficult because of limited messages from the server.

##### Workaround

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.

#### There doesn't appear to be any explanation about the classpath-prefix and classpath-suffix in the GF 3.x documentation (Issue 16082)

##### Description

In previous GlassFish Server versions, the JVM options provided a classpath-prefix and classpath-suffix attributes that made it possible to add JAR files or directories either in front of,or after the application serve's system classpath. These options are no longer present in GlassFish Server 3.1.

Starting with GlassFish Server v3 Preview, after switching to OSGi, the classpath-prefix and classpath-suffix options have been labeled “do not use.”

##### Workaround

The classpath-prefix was typically used to substitute another package for one of the GlassFish Server packages, for example if a newer one was available. This same result can be achieved by using the Java Endorsed Standards Override Mechanism or on a per-application basis with the --libraries option for the deploy subcommand. These are documented in the Oracle GlassFish Server 3.1 Application Development Guide. The Java Optional Package Mechanism, which is documented in this guide, does what classpath-suffix used to do.

#### Windows startup menu shows single entry on multiple installation of Glassfish 3.1 (7002744)

##### Description

Windows Start Menu shows a single GlassFish Server even when multiple GlassFish Server installations are installed.

##### Workaround

None. When running GlassFish Server from the Start menu, the most recent installation starts. Similarly, when uninstalling from the Start menu, the last installed version is uninstalled.

#### Critical JRockit Issues (7020176)

##### Description

There are two critical JRockit issues when running longevity tests (24x7) on GlassFish Server 3.1. The issues are documented at:

The GlassFish Server certification matrix has been updated and JRockit has been removed. However, the installer UI still has an image that mentions JRockit support as a new feature.

##### Workaround

None JRockit is not supported on GlassFish Server 3.1.

#### New Grizzly integration required for http://java.net/jira/browse/GRIZZLY-970 (15909)

##### Description

There is a known security vulnerability with Grizzly when running Java Runtime Environment 6 versions prior to Update 24. See http://java.net/jira/browse/GRIZZLY-970 for details.

##### Workaround

Use Java Runtime Environment 6 update 24 or greater to avoid the vulnerability. Oracle has released a security alert for this issue. For instructions on how to resolve it, see http://blogs.oracle.com/security/2011/02/security_alert_for_cve-2010-44.html.

#### ReleaseNotes: document Restart Required issues (Umbrella issue 16040)

##### Description

There are a number of configuration functions for which a server restart is required, and a number for which a restart is not required. However, the underlying component modules for the functions listed below are not correctly prompting the user about the restart requirements. These incorrect or missing restart prompts occur regardless of whether the given function is performed from the command line or through the Administration Console.

This is an umbrella issue for the sub-issues listed below. The URL for the JIRA query that you can use to display all these sub-issues is http://java.net/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10358.

• GLASSFISH-16100: Restart required for java mail session debug change, exception in server.log

• GLASSFISH-16013: RestartRequired: changing http port does not trigger restart required message for a standalone instance

• GLASSFISH-16010: Restart Required: After changing JMS Type server instance is not reported as requiring restart

• GLASSFISH-15758: Restart Required status for remote instances does not get reset even when instance is restarted.

• GLASSFISH-15638: Show "restart required" status when IIOP service configuration / port is changed

• GLASSFISH-15635: [UB]Show "restart required" status when a new resource is created or deleted

• GLASSFISH-15629: [UB]Show "restart required" status when JDBC connection pool properties are changed

• GLASSFISH-15619: [UB]show "restart required" status when connector connection pool properties are changed

• GLASSFISH-15517: "Restart Required" when no changes are made to JVM options

• GLASSFISH-15507: [UB]DOC: Server restart is required after secure-admin is enabled or disabled

• GLASSFISH-14515: [UB]Restart not required for changes in resources

• GLASSFISH-3850: Changing default realm does not indicate that a server restart required

• GLASSFISH-15987: Display Restart Required when a system-property which is referenced by a jvm-option is changed. This issue exists in GlassFish Server 3.1 but has been fixed in GlassFish Server 3.1.1.

##### Workaround

Restart the DAS after performing any of the functions listed above.

#### [UB]org.osgi.framework.BundleException during shutdown after upgrade (15441)

##### Description

When shutting down a server that was started with the java -jar command, a large number of exceptions may sometimes be displayed in the console. Shutting down a server that was started with the --verbose option also causes this error.

##### Workaround

These are harmless exceptions and can be ignored. The errors are only displayed in the console when the server that is being shut down was started in either --verbose mode or by using the java -jar command. Also note that the --upgrade option implies --verbose, so shutting down a server that was started with the --upgrade option may also produce this error.

#### Update coordinates failure with enable-security-admin (7017384)

##### Workaround

Either disable secure-admin, or use the --adminport option with the update-admin-server-coordinates subcommand to explicitly set the port you want to use.

#### Man page for list-supported-cipher-suites (15998)

##### Description

The example in the man page for the list-supported-cipher-suites subcommand lists the Kerberos cipher (*_KRB5_*) suites, but the Kerberos suites are not supported in GlassFish Server 3.1.

##### Workaround

None. This is a documentation error. Kerberos cipher suites are not supported in GlassFish Server 3.1.

#### Description of create-jacc-provider references JSR196 but the command has nothing to do with JSR196 and JAAS (15999)

##### Description

The subcommand description in create-jacc-provider man page references JSR196 and JAAS but the subcommand has nothing to do with those specifications. In addition, there is a typographical error in the subcommand example. Finally, the subcommand description for the delete-jacc-provider should be reworded.

##### Workaround

These man page errors will be corrected in the next GlassFish Server release. In the meantime, note the following:

• The subcommand description in create-jacc-provider man page should read as follows:

The create-jacc-provider subcommand creates a JSR-115–compliant Java Authorization Contract for Containers (JACC) provider that can be used for the authorization of applications running in GlassFish Server. The JACC provider is created as a jacc-provider element within the security-service element in the domain's domain.xml file.

The default GlassFish Server installation includes two JACC providers, named default and simple. Any JACC providers created with the create-jacc-provider subcommand are in addition to these two default providers. The default GlassFish Server JACC providers implement a simple, file-based authorization engine that complies with the JACC specification. The create-jacc-provider subcommand makes it possible to specify additional third-party JACC providers.

Any number of jacc-provider elements can be created under the security-service but the GlassFish Server runtime will use only one of them at any given time. The jacc attribute on the security-service points to the name of the provider that is currently in use by GlassFish Server. Any change to the jacc attribute (to make it point to a different jacc-provider) would require a server restart. This command is supported in remote mode only.

• The create-jacc-provider subcommand sample should read:

asadmin> create-jacc-provider --policyproviderclass com.sun.enterprise.security.provider.PolicyWrapper --policyconfigfactoryclass com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl
• The subcommand description in delete-jacc-provider man page should read as follows:

The JACC provider used by GlassFish Server for authorization is specified by the jacc attribute in the security-service configuration element. If you are deleting the provider pointed to by the jacc attribute, ensure that the attribute value is also changed to the name of some other jacc-provider that exists under the security-service. Any change to the jacc attribute for a running service requires a server restart.

#### lazy-init attribute missing from admin console Edit IIOP Listener page (15975)

##### Description

It is not possible to set the lazy-init value for an IIOP listener from either the GlassFish Server Administration Console or the command line. Even the asadmin set command cannot be used to change the value.

##### Workaround

Currently, the only workaround for this issue is to edit the domain.xml file directly. For example, the domain.xml file could contain a property similar to the following:

<iiop-listener port="3700" id="orb-listener-1" address="0.0.0.0"
lazy-init="true"></iiop-listener>

In this example, the lazy-init property is enabled, and it can be disabled by changing the lazy-init value to false.

Note that lazy-init is disabled by default, so the domain.xml file could contain an iiop-listener element similar to the following:

<iiop-listener port="3700" id="orb-listener-1" address="0.0.0.0"></iiop-listener>

In this case, to enable lazy-init, you would add the following property to the iiop-listener element:

lazy-init="true"

#### RMIConnectorStarter constructs invalid URLs with a literal IPv6 address (15937)

##### Description

When using GlassFish Server 3.1 on a system that uses IPv6 addressing, and there is a need to make the JMX service listen on a specific IPv6 address, and the address is specified as a literal IPv6 address, the RMIConnectorStarter class constructs an invalid URL in the start method.

For example, if your domain.xml contains the following:

<jmx-connector port="8686" address="e80::216:3eff:fe3e:4c35" security-enabled="false"
auth-realm-name="admin-realm" name="system"></jmx-connector>

The server will not open the JMX RMI port successfully and exceptions will be reported in the log file.

##### Workaround

The recommended workaround for this problem is to not use a literal address. Instead, define a name for the address, either in DNS or the hosts file, and then use that name as the value for the address for the JMX listener.

An alternate workaround is to enclose the address value in square braces. For example, use:

<jmx-connector port="8686" address="[e80::216:3eff:fe3e:4c35]" security-enabled="false"
auth-realm-name="admin-realm" name="system"></jmx-connector>

 Caution - This issue is planned to be fixed in either a 3.1 patch or a subsequent GlassFish Server release. This alternate workaround will cause the system to operate incorrectly when the issue is fixed. The square braces will need to be removed after the fix is applied.

#### man-page-review umbrella issue (15929)

##### Description

During the final GlassFish Server 3.1 development phase, fixes were made to a number of man pages after the man pages had already been localized. For users of non-EN locales, these corrections will not appear in the man pages, but are correctly displayed in the Oracle GlassFish Server 3.1-3.1.1 Reference Manual.

This is an umbrella issue that includes the following man page review issues:

• GLASSFISH-15875 man-page-review : list-admin-objects, list-connector-resources, list-jndi-resources

• GLASSFISH-15958 man page: webtier CLIs

• GLASSFISH-15878 man-page-review : create-jdbc-connection-pool

• GLASSFISH-15877 man-page-review : remove the section "Application Scoped Resources" from multiple resource man-pages

• GLASSFISH-15879 man-page-review : note about resource-ref in multiple resource related commands

• GLASSFISH-15962 Man page for update-node-config is wrong about SSH nodes

• GLASSFISH-15876 man-page-review : list-connector-resources, list-jndi-resources

• GLASSFISH-15872 man-page : flush-connection-pool, ping-connection-pool

• GLASSFISH-15874 man-page-review : delete-connector-resource, delete-jdbc-resource, delete-jndi-resource

• GLASSFISH-15566 change-master-password --help has wrong content

• GLASSFISH-15485 Error in man pages for restart-local-instance, start-local-instance, stop-local-instance

• GLASSFISH-15867 documentation of create-system-properties has inconsistencies

• GLASSFISH-15919 man-page-review: jms CLIs

• GLASSFISH-3198 Synopsis for asadmin help create-custom-resource wrong

• GLASSFISH-15564 create-http-health-checker man page error

• GLASSFISH-15956 man page: remove --upgrade option from start-local-instance

• GLASSFISH-15947 Remove --upgrade from start-local-instance man page

##### Workaround

The correct man pages are displayed in GlassFish Server distributions for the EN locale, and will be available for all locales in GlassFish Server 3.2. In the meantime, users of non-EN 3.1 locales should refer to the Oracle GlassFish Server 3.1-3.1.1 Reference Manual for the latest subcommand usage instructions.

#### [UB]Release note security permissions required for CDI applications (15456)

##### Description

It is necessary to grant additional permissions to CDI-enabled Java EE applications that are deployed in a GlassFish Server 3.1 domain or cluster for which security manager is enabled. These additional permissions are not required when security manager is disabled.

##### Workaround

To deploy CDI-enabled Java EE applications in a GlassFish Server 3.1 domain or cluster for which security manager is enabled, add the following permissions to the applications:

grant codeBase "file:${com.sun.aas.instanceRoot}/applications/[ApplicationName]" { permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; }; For example, for a CDI application named foo.war, add the following permissions to the server.policy file, restart the domain or cluster, and then deploy and use the application. grant codeBase "file:${com.sun.aas.instanceRoot}/applications/foo" {
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
}; 

See Changing Permissions for an Application in Oracle GlassFish Server 3.1 Application Development Guide for instructions on modifying application permissions. See Enabling and Disabling the Security Manager in Oracle GlassFish Server 3.1 Application Development Guide for instructions on enabling and disabling security manager. For the complete report about this issue, see GLASSFISH-15456.

#### build 40 : list-jmsdest for cluster1 not working, it just hangs

##### Description

Listing JMS physical destinations causes the DAS to hang if the MQ Broker for the instance is not started. This issue occurs in both the Administration Console and when using the asadmin list-jmsdest subcommand.

##### Workaround

All JMS destination subcommands, including list-jmsdest, create-jmsdest, delete-jmsdest, and flush-jmsdest requires the MQ broker for the instance to be running. For more information, see the Oracle GlassFish Server Message Queue 4.5 Release Notes.

#### Create Resource Adapter Config is throwing an exception if JMS is already started (15571)

##### Description

Creating a JMSRA resource adapter configuration and setting the thread pool to http-thread-pool generates an exception in the server.log.

#### [Release Note]Samples. at ant all output was seen URL for samples that don't have a web client (12264)

##### Description

When running the GlassFish Server sample files, the output generated by the ant all command displays deployment URLs even for applications that do not have a Web client. For example, the criteriaQuery and hello-jaxws2.2 sample applications do not have a Web client, but ant all still generates deploy-url messages for them, similar to the following:

Application deployed at htt://localhost:8080/criteriaQuery
Application deployed at htt://localhost:8080/hello-jaxws2.2
##### Workaround

This is a simple message string error, and does not affect the functionality of the samples. Ignore this message for applications that do not have a Web client and corresponding URL.

#### Domain.xml: setting protocol.http-listener-1.http.max-connections set in 1 or -1 (16025)

##### Description

The man page for the create-transport man page states the following for the --maxconnectionscount option:

The maximum number of connections for the network listener that references this transport. A value of -1 specifies no limit. The default value is 4096.

However, because of a GlassFish Server bug, setting the --maxconnectionscount value to -1 disables keep-alive for the connection.

##### Workaround

Use the following values for --maxconnectionscount:

-1

Currently does not correctly set the --maxconnectionscount to unlimited. Instead, specify some big number, up to Integer.MAX_VALUE.

1

Process one keep-alive request, and then close the connection after processing the second request on the same connection.

0

Disable keep-alive for the connection

#### Intermittent issue : Left tree not refreshed when new elements are added/removed in IE and firefox (15997)

##### Description

When running the GlassFish Server Administration Console in some versions of Internet Explorer and Firefox, the node tree on the left side of the Administration Console is not always updated correctly when new elements are added to the server configuration. For example, the node tree may not update correctly after adding a new JDBC Pool, resource, or virtual server. This issue is not consistently reproducible and is very intermittent.

##### Workaround

Reload the Administration Console by pressing the Home button or the browser's reload button to update the values in the node tree.

#### [UB][regression] jpaRLCreateEMF failure on sybase (15763)

##### Description

When using the DataDirect driver with Sybase, inserting an entity that uses GenerationType.IDENTITY will fail. The problem is that the DataDirect driver creates a stored procedure for every parameterized prepared statement.

##### Workaround

Set the PrepareMethod=direct property on the corresponding datasource to change the default DataDirect behavior for handling prepared statements.

#### Admin Console: intermittent Blank Screen (15633)

##### Description

The Administration Console sometimes simply displays a blank screen even though the status bar in the browser window indicates that the page loading is complete. This can happen if you have been working in the Administration Console and then restart the server from the command line. This can also happen after upgrading or reinstalling GlassFish Server.

##### Workaround

This issue can usually be resolved by doing a Shift+Reload in your browser window. In some cases, particularly when the error occurs after a GlassFish Server upgrade or reinstallation, it may be necessary to clear your browser's cache, cookies, and active logins going back at least one day in the browser history.

#### Caching JMS session in a session bean causes errors when invoked by a MDB when under load (15558)

##### Description

A stateless session bean should not save JMS connections or sessions in fields of the bean. Applications that do so may encounter errors.

##### Workaround

To avoid this issue, if a stateless session bean's business method requires the use of a JMS connection and session, then the business method should create the JMS connection and session, use it to send or receive messages, and then close the connection and session before returning.

#### Domain fails to stop after console loaded (with secure admin enabled) (15482)

##### Workaround

This is just one of a number of issues that may occur when using a JDK version lower than 1.6.0_22. Ensure that you are using JDK 1.6.0_22 or later. See Hardware and Software Requirements for complete information about GlassFish Server 3.1 JDK requirements.

#### Modifying keyfile path in a newly created config does not properly list the users (15429)

##### Description

If an asadmin set subcommand is executed to change a realm-property for a realm that is already loaded (perhaps due to an earlier CLI command targeted at the realm), then the realm continues to behave as if the set subcommand was not executed.

##### Workaround

Restart GlassFish Server after using a set subcommand to change a property for a realm that has already been loaded.

#### [BigApps] [STRESS] ~17 occurences of "EOFException" warnings coming from JMS (15424)

##### Description

Very occasionally, WARNING messages that state "java.io.EOFException: Trying to read 72 bytes. Already read 0 bytes" may be observed in the server log.

##### Workaround

If no other messages or exceptions are logged at the same time in either the server or broker logs these messages may be ignored.

#### Mysql ping fails when additional properties are not deleted (14547)

##### Description

Performing a MySQL ping after setting nonstandard for mysql-pool, the following error message is displayed:

Ping failed Exception - Access denied to execute this method :
setLargeRowSizeThreshold Please check the server.log for more details.
##### Workaround

Only set the standard documented properties for mysql-pool. These properties are as follows:

• "databaseName"

• "serverName"

• "port"

• "networkProtocol"

• "user"

• "roleName"

• "datasourceName"

#### If TS resource had been changed, tables are not created after server restart (13873)

##### Description

If an EJB Timer resource is changed after the EJB Timer Service is started on a previous resource, the EJB Timer table is not created after a server restart.

##### Workaround

The DAS must be restarted if any automatic timers are to be deployed. In addition, unless the EJB Timer table is created manually, the domain-dir/generated/ejb-timer-service-app marker file also needs to be removed.

#### GlassFish/Grizzly not able to accept new request if a remote client hangs (6963818)

##### Description

When closing an idle or expired connection, Grizzly waits a period of time, called the linger time, for any pending data transmission to complete. If the client on the connection is not network accessible, GlassFish Server might appear to hang.

##### Workaround

Add the following JVM option to the configuration:

-Dcom.sun.enterprise.web.connector.grizzly.linger=-1

#### restore-domain from a config only backup will corrupt the domain directory (7026114)

##### Description

When a domain is restored using a configuration-only backup, the contents of the domain's config directory are restored but the other contents of the directory are lost, thus corrupting the domain.

##### Workaround

Perform the following steps to restore a domain directory from a configuration-only backup.

The domain name to be restored in this example is named domain1. The configuration is restored to a temporary directory named /tmp/domain1. Once the configuration is restored, the old configuration is moved aside and the restored configuration is copied from the temporary directory to the domain directory.

1. Create a temporary directory to hold the restored configuration files for the domain.

For example:

mkdir /tmp/domain1
2. Restore the domain.

asadmin restore-domain --backupdir /tmp/das-backups --domaindir /tmp domain1
3. Stop the domain.

4. Change to the domain directory that is actually being restored.

cd domain-dir
5. Rename the existing domain config directory.

For example:

mv config config-
6. Copy the domain configuration from the /tmp directory into the real domain config directory.

cp /tmp/domain1 config

#### JSF PhaseListener executed for each virtual host (15809)

##### Description

JSF 2.0 PhaseListeners are executed on each virtual server for any given request. In a multiple virtual server scenario, this means the PhaseListener is invoked multiple times, once for each VM.

The root cause of the problem, like most Mojarra-with-Virtual Server problems, is the invalidity of the assumption that there is always just one ServletContext per application per VM. In the case of N virtual servers, there are N ServletContext instances (and attendant lifecycle listener calls) per application per VM. For example, in a seven-node virtual server scenario, the PhaseListeners are invoked seven times.

##### Workaround

Create a custom LifecycleFactory instance that correctly handles the virtual server case. Details for doing this are provided in http://java.net/jira/secure/attachment/44826/i_gf_15809-workaround.txt.

#### could not find Factory: javax.faces.context.FacesContextFactory (16061)

##### Description

JSF/Seam 3 applications intermittently fail to start, generating an error message similar to the following:

WARNING: StandardWrapperValve[FacesServlet]: PWC1382: Allocate exception
for servlet FacesServlet
java.lang.IllegalStateException: Application was not properly initialized at
startup, could not find Factory: javax.faces.context.FacesContextFactory

This issue may occur when a JSF application does not register the Faces Servlet in the application's web.xml file. The com.sun.faces.config.FacesInitializer will attempt to initialize the JSF Servlet, which normally works without problem, except when Seam Faces is included in the application, which also tries to initialize the Servlet. This issue is not deterministic because of the random ordering of listeners by GlassFish Server.

##### Workaround

Add the following code to the web.xml file for the application:

<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>

#### NullPointerException when accessing OSGi web application (15985)

##### Description

OSGi JSF applications appear to deploy correctly, but the first attempt to access the application through a Web browser generates a NullPointerException error. In addition, subsequent attempts to redeploy the application fail.

##### Workaround

This issue has been corrected in GlassFish Server 3.1.1. If using GlassFish Server 3.1, the workaround is to omit the --type osgi option when deploying the application with the asadmin deploy subcommand.

For example, the following command will generate the NullPointerException:

asadmin> deploy --type osgi --contextroot foo-web /foo_apps/foo-web.war

The error is not generated when the --type osgi option is omitted:

asadmin> deploy --contextroot foo-web /foo_apps/foo-web.war

#### GlassFish installer needs to prompt user to set MQ admin password (12305750)

##### Description

GlassFish Server Message Queue (MQ) 4.5 and GlassFish Server 3.1 are now installed together through a common installation program. Prior versions of MQ and GlassFish Server were installed separately through their own installation programs.

The older MQ installation program prompted the user to set an MQ administrator password, but the GlassFish Server 3.1 installer does not. Instead, in GlassFish Server 3.1 with MQ 4.5, the default behavior at MQ instance startup is to generate content for a file-based user repository configuration file named passwd. By default, this file-based user repository is configured as the MQ repository to be used to authenticate client connections to the broker. The default passwd file contains the following user entries:

User Name
guest
guest

These credentials may not match those used for the GlassFish Server administrator.

##### Workaround

Ideally, the GlassFish Server administrator and MQ administrator should share the same user credentials because the two products are now the same. Functionality for setting the MQ administrator user name and password during product installation are planned for future versions of the GlassFish Server installer.

In the meantime, there are several post-installation workarounds, listed below, that you can perform on the MQ side with the imqusermgr User Manager utility to change or set the MQ administrator user name and password. In all cases, see User Manager Utility in Oracle GlassFish Server Message Queue 4.5 Administration Guide for more detailed information about this utility.

• Change the credentials for an existing MQ Broker instance.

• Set the credentials that will subsequently be used for all new MQ Broker instances.

The instructions vary slightly, depending on whether you want to create a new MQ administrator user name or if the user name will remain unchanged.

• If creating a new MQ administrator user name

1. Delete the existing MQ administrator user name.

as-install-parent/mq/imqusermgr delete -u admin -c -varhome tmp-dir -s -f
2. Create the new MQ administrator user name.

as-install-parent/mq/imqusermgr add -u user-name -p password -c -varhome tmp-dir -s -f
• If reusing the existing MQ administrator user name and only updating the password

as-install-parent/mq/imqusermgr update -u admin -p password -c -varhome tmp-dir -s -f
2. Move the MQ Broker accesscontrol.properties file to the GlassFish Server installation.

mv tmp-dir/instances/imqbroker/etc/accesscontrol.properties as-install-parent/mq/etc

### Known Issues in GlassFish Server 3.1 Fixed in 3.1.1

#### Win. Deployment with contextroot: Application [] contains no valid components (13774)

##### Description

On Windows, under certain very specific conditions, deploying the same or different applications using the same app name can result in unexpected errors.

To encounter this problem all of the following conditions must be true:

• User deploys an application with name appName.

• One (or more) JAR files in the expanded applications/appName directory are locked as part of deployment or accessing the application, so that the JAR(s) are not removed during undeployment.

• The same or another application is later deployed with the same name.

• The new application does not contain the previously-locked JAR file in the same location.

• Some code in GlassFish searches all JARs in the application for some reason (for example, annotation detection, persistence unit searching, sniffer work to identify the type of application).

GlassFish Server treats the leftover file as part of the second application, even though it is not. This can cause various errors, most notably "Application [] contains no valid components."

##### Workaround
1. Avoid deploying different applications using the same app name.

2. If you need to redeploy an application but have removed a file from the app and that file remains in the applications/appName directory tree even though you redeploy the app, consider deploying the revised app using a different app name.

3. If you see this error, restart the DAS (use the asadmin stop-domain subcommand or stop the domain using the Administration Console) and then deploy or redeploy the app.

#### [UB]Accessing encoded URLS throws 403: Forbidden (15709)

##### Description

A 403: Forbidden error is displayed when browsing to an application that contains an encrypted URL and is deployed on Oracle Web Server 7 on Windows 2008.

This is not a GlassFish Server problem, but is caused by a Web Server fix that disallows URIs with a ":" value.

##### Workaround

Modify the obj.conf file for the Web Server, as follows:

Replace:

PathCheck fn="uri-clean"

With:

<Client type="~magnus-internal/lbplugin">
PathCheck fn="uri-clean"
</Client>

#### injection points in one bean deployment archive cannot be satisfied by a bean in a separate bean archive, even when they are from libraries in the same module (web archive) (15721)

##### Description

The Bean Deployment Archive (BDA) visibility graph does not correctly implement the CDI and Java EE 6 specifications. Beans in WEB-INF/lib are made available to beans in WEB-INF/classes, but the converse is not true; that is, beans in WEB-INF/classes cannot be injected into WEB-INF/lib injection points. In addition, beans in one JAR in WEB-INF/lib cannot be injected into beans in a different JAR in the same WEB-INF/lib. According to the CDI and EE6 Platform specifications, both of these scenarios should work. This issue occurs because of the way Weld handles cyclic references among BDAs.

##### Workaround

This issue should be fixed in GlassFish Server 3.1.1. If using GlassFish Server 3.1, you can repackage the application such that either of the following conditions are met:

• Beans in WEB-INF/classes are not used or injected into classes bundled in WEB-INF/lib/*.jar

• All Beans are available as part of WEB-INF/classes; that is, collapse the bundled library in WEB-INF/lib/*.jar into WEB-INF/classes

#### Glassfish Installer does not update MQ config file (imqenv.conf) with values (15724)

##### Description

The GlassFish Server Installer does not update the MQ configuration file (imqenv.conf) with appropriate system values (for example, JDK_HOME directory). This would be useful when MQ is run independently from GlassFish Server.

##### Workaround

Manually update the imqenv.conf file (located in the MQ_HOME/etc directory). The MQ executables will use the java that is in the user's PATH. The user can also specify another Java Runtime by setting IMQ_DEFAULT_JAVAHOME in the imqenv.conf file.

For example, on Unix:

IMQ_DEFAULT_JAVAHOME=/usr/jdk/jdk1.6.0

On Windows:

IMQ_DEFAULT_JAVAHOME=c:\path\to\jdk

#### Remote EJBs fail with ClassCastException in embeddable GlassFish (15775)

##### Description

This is a Thread context class loader issue. GlassFish.start() sets the context class loader to an internal class loader and does not reset it after the call is complete. As a consequence, the user's classes can no longer be loaded using the context class loader in the thread that starts the server.

##### Workaround

A possible workaround is to set the context class loader before looking up the remote EJB; for example:

GlassFish gf = GlassFishRuntime.bootstrap().newGlassFish();
gf.start();
gf.getDeployer().deploy(myapp);
new InitialContext().lookup(myEJB); }
finally { Thread.currentThread().setContextClassLoader(oldCl); }

#### Column APPLICATIONID is missing from bundled SQL scripts for EJB timer table creation. (15986)

##### Description

When creating a new EJB timer in GlassFish Server 3.1, the bundled timer table creation scripts generate corresponding .sql files that are missing the APPLICATIONID column.

The actual table for the timer is created automatically by the timer service on first deployment. The generated .sql files are for documentation purposes only, so this issue does not affect the EJB timer or the timer service in any way.

##### Workaround

None required. The .sql files generated by the timer creation scripts serve no direct functional purpose, but can be used as a reference point if you want to create a timer table yourself. To see the column definition as it should be, look at the corresponding .sql file for the actual timer table.

#### create-jvm-options subcommand options incorrectly parsed by asadmin (16037)

##### Description

The asadmin utility is incorrectly interpreting create-jvm-options subcommand options as asadmin utility options. As a result, attempts to create a JVM option, such as -Xrs, fail; for example:

asadmin> create-jvm-options -Xrs
Non-boolean option: X, not allowed in argument: -Xrs
[-t|--terse[=<terse(default:false)>]]
[-s|--secure[=<secure(default:false)>]]
[-e|--echo[=<echo(default:false)>]]
[-I|--interactive[=<interactive(default:true)>]]
[-?|--help[=<help(default:false)>]]
create-jvm-options [command-specific options]
Command create-jvm-options failed.

The usage message appears to be in the style of a v2 usage message. In GlassFish Server 3.1, asadmin utility options are not provided in the usage message.

##### Workaround

To workaround this problem, run the create-jvm-options subcommand in single mode specifying at least one asadmin utility option. For example:

dashost\$ asadmin --host dashost create-jvm-options -Xrs
Created 1 option(s)
Command create-jvm-options executed successfully.

#### appclient in cygwin passing extra empty string (16044)

##### Description

Using Cygwin on Windows, the app client container (ACC) passes an extra empty-string argument to the client's main method. This might result in the app client throwing an index-out-of-range exception if the client does not guard itself against empty argument values.

##### Workaround
1. If your client works with a variable number of arguments make sure that it protects itself against empty argument values.

2. Avoid using Cygwin on Windows for clients that cannot be made to guard against an empty argument value.

#### 3.1 GlassFish installer takes longer to bootstrap Update Center than in 3.0.1 (16067)

##### Description

The GlassFish Server 3.1 Update Center may take significantly longer to load the first time it is launched than it did in GlassFish Server 3.0.1. This is caused by a performance regression in Update Center, not in GlassFish Server itself. This performance regression is documented in JIRA issue UPDATECENTER2-2175.

#### On Windows the first time pkg.bat or updatetool.bat is run they may echo garbage (16094)

##### Description

On Windows, if you do not install Update Center as part of the GlassFish Server product installation, the first time you run pkg.bat (or updatetool.bat) the scripts echo a large amount of garbage output before prompting you to continue with the Update Center installation. The Update Center installation works, but the large amount of initial garbage output may be confusing.

##### Workaround

No workaround is necessary. The garbage output is harmless and can be safely ignored.

#### Admin GUI hangs on first access after installation on some Solaris Server Hardware. (16153)

##### Description

After installing GlassFish Server 3.1 and starting the DAS for the first time on some Solaris Server hardware, the GlassFish Server Administration Console starts to load, but then the browser screen goes blank and the browser hangs indefinitely. The only way to continue is to kill the hung prtfru process.

The problem is that during the generation of the GlassFish Server registration page, if the SolarisSystemEnvironment.getSNViaPrtfruX() method is called, and the output from the prtfru -x command is significant (for example, a large server could output over 3000 lines/150Kbytes) then the page generation will hang.

For the complete report about this issue, see KM article 1299968.1 on the My Oracle Support site.

##### Workaround

There are three possible workarounds for this problem:

• Kill the prtfru process.

For example:

# ptree cat as-install-parent/glassfish/domains/domain-dir/config/pid
20365 /usr/jdk/jdk1.6.0_23/bin/java -cp as-install-parent/glassfish/modules/glass
20385 /usr/sbin/prtfru
# kill -9 20385
• Prior to logging in to the DAS for the first time, make the as-install-parent/glassfish/lib/registration directory read-only. For example:

chmod -w as-install-parent/glassfish/lib/registration/

Note that this will result in the registration file not being generated, and the registration option will not be displayed.

• Prior to logging in to the DAS for the first time, enter the following command:

touch as-install-parent/glassfish/lib/registration/registration.html

As with the second workaround, above, this will disable the registration option.

#### asupgrade Fails Without Internet Connection (16159)

##### Description

Upgrade Tool fails when trying to parse the product version in the source domain.xml file when an Internet connection is not available. This problem only occurs when using Upgrade Tool to perform a side-by-side upgrade on 2.x domain without an Internet connection.

##### Workaround

The workaround for this issue is as follows:

1. Copy the older source domain to be upgraded to the new target as-install/domains directory.

Rename the target domain1 directory, if one exists, before proceeding.

asadmin> start-domain --upgrade domain-name

#### Application info page: status not shown correctly and virtual servers changes not saved (16048)

##### Description

The information page for a deployed application may display incorrect information in a DAS only configuration. Specifically:

• The Enabled status checkbox is always unchecked regardless of whether the application is enabled or disabled.

• Modifications to the list of virtual servers is not persisted in other Administration Console pages.

This issue only occurs on the DAS when no clusters or standalone instances have been configured.

##### Workaround

The issue has been fixed and will be available in future product releases. In the meantime, the following workarounds are available:

• To display the status for an application, look at the Applications table on the top-level Applications page rather than the Edit Application page for the individual application. The status is correctly displayed on the top-level Applications page, and the application status can also be modified from there.

• To view or change the virtual server for a deployed application, use the asadmin get and set subcommands.

• To view the status of an application, use the get subcommand.

asadmin> get server.application-ref.application-name

For example, to view the status of an application named hello:

asadmin> get server.application-ref.hello
• To change the list of virtual servers for an application, use the set subcommand.

asadmin set server.application-ref.application-name.virtual-servers=virtual-server[,virtual-server,...]

For example, to specify a virtual server named myVS for an application named hello:

asadmin> set server.application-ref.hello.virtual-servers=myVS

Separate multiple virtual-server names with commas. For example:

asadmin> set server.application-ref.hello.virtual-servers=myVS,yourVS,herVS

#### Log Viewer: details garbled after navigating to earlier records, exception in server.log (16029)

##### Description

When viewing server log records, switching views between the DAS and another server instance may cause the view to become blank or garbled. The issue is caused by a missing logFile parameter in the URL for the detailed log screen.

##### Workaround

Specify the name of the log file manually in the URL for the detailed log screen. For example, an incorrect URL may read:

http://localhost:4848/common/logViewer/logEntryDetail.jsf?instanceName=server&
logLevel=INFO&logFile=&recNumber=10

If the name of the log file is server.log, you would add this as the logFile parameter in the URL:

http://localhost:4848/common/logViewer/logEntryDetail.jsf?instanceName=server&
logLevel=INFO&logFile=server.log&recNumber=10`

#### Cluster -> Resources tab: Should not include resources not included in the web distribution in the table dropdown (15925)

##### Description

When using the GlassFish Server Web profile distribution, the Clusters->Resources tab in the Administration Console displays a drop-down list of resources that you can create, some of which are not available for that distribution. If you try to create one of these unsupported resources when using the Web profile, an HTTP Status 404 error message will be displayed. Note that the resources are correctly displayed in the node tree on the left side of the Administration Console.

##### Workaround

The GlassFish Server 3.1 Web profile distribution does not contain any of the JMS or MQ components. The following resources are only available in the Full profile distribution:

• Destination Resources

• Connection Factory

• JavaMail

• Custom Resources

• External Resources

To work around this issue, refresh the exception screen by clicking the cluster node in the tree or by refreshing the browser.

#### Firefox 4.0 does not work for the Admin Console Targeting dialogs (16385)

##### Description

Firefox 4.0 does not work for the Administration Console Targeting dialogs. All other Web pages display correctly.

“Targeting dialogs” refer to those dialogs in which two adjacent columns of options are displayed, one for “Available Targets” and the other for “Selected Targets.” A user can select the desired options and move them from one column to other.

For example, such a dialog can be displayed by navigating to the Resources->JDBC->JDBC Resources->resource-name->Target page and then clicking Manage Targets. The resulting Manage Resource Targets page will not be displayed correctly in Firefox 4.0. Specifically, the CSS page formatting is not rendered, leaving just plain text and no layout.

##### Workaround

None. This is a rendering issue in Firefox 4.0. Other browsers and earlier versions of Firefox do not exhibit this behavior.

#### @DSD defined in EJBs bundled in a .war is not available for JPA during prepare() phase (15865)

##### Description

1. A @DataSourceDefinition annotation is defined in an EJB that is bundled in a WAR file.

2. A JPA Persistence Unit is also in the WAR file, and that JPA depends on the @DataSourceDefinition exported by the EJB.

In this configuration, the @DataSourceDefinition is not available during prepare() phase during which the JPA creates its tables. The @DataSourceDefinition is available only after deployment.

##### Workaround

A JPA can only perform lookups on Data Source Definitions (DSDs) for scoped applications ("java:app"). Because of this, the workaround for this issue is to define the @DataSourceDefinition in the web.xml, application.xml, or Servlet instead of defining it in the EJB.