Domain Configuration Management for GlassFish V2 (Application server 9.1)

Dates

The cutoff dates for accepting any config changes are as follows. If you want your changes in the config by a certain milestone, please plan accordingly. The buffer is required See the milestone document at: http://www.glassfishwiki.org/gfwiki/Wiki.jsp?page=Milestones.

Milestone Config Cutoff Date (Proposed Milestone Date)
2 *10 Sept 2006 (26 Sept 2006)*
3 *30 Oct 2006 (14 Nov2006)*
Id Element/XPath Requester ID, e-mail Date Comments (links to other places) CLI/AMX support needed (Y/N/NA)? Dynamic reconfiguration needed (Y/N/NA)? Target milestone, release Status (D/A/I/R)?
1 Entity "object-type" needs to have additional enum value: "externally-managed" Binod, binod@dev.java.net 08 Aug 2006 ExternallyManagedApplication NA NA Milestone 2, 9.1 *R*. We have decided to do it differently.
2 Description change - attribute "poolname" of connector-resource and jdbc-resource Jagadish.Ramu, jr158900@dev.java.net 18 Aug 2006 ClusteredPoolDTD Con-Pool-Onepager Y Y Milestone 2, 9.1 *R*. We are not doing clustered pools for this release.
3 Pooling Infrastructure Enhancements Jagadish Ramu, jr158900@dev.java.net 25 Sep 2006 FinalDTDChanges Y, one caveat: No additional CLI support. Additional attributes suggested will be set using the dotted names. Y Milestone 3, 9.1 *I*. Will be done by 29 Oct 2006. FirstCheckinForDomainDtd13
4 Addition of "extension-module" element to "application" Hong Zhang, hzhang_jn@dev.java.net 10 Oct 2006 Issue 886 Y, one caveat – there won't be any additional CLI support for this. Y Milestone 3, 9.1 *I*. Need for extensibility. Will be done by 29 Oct 2006. FirstCheckinForDomainDtd13
5 Support object-type for lifecycle modules Binod, binod@dev.java.net 11 Oct 2006 ObjectTypeForLifecycleModules NA NA Milestone 3, 9.1 *I*. Will be done to support the addons for EE. Will be done by 29 Oct 2006. FirstCheckinForDomainDtd13
6 Make jbi-enabled attribute on element web-service-endpoint "false" rather than "true". Vikas Avasthi/ Kedar Mhaswade 31 Mar 2007 This was more of a bug fix NA NA BETA-2 *I*. See the element .
7 Deprecate security-service@anonymous-role and http-protocol@default/forced-response-type Kedar Mhaswade/JeanFrancois/Shing Wai Chan 23 May 2007 This was more of a legacy bug fix NA NA FCS *I*.

<a name="dynamicreconfig"/>

Dynamic Reconfiguration

Various changes are dynamically applicable to the runtime. For this release, following settings are now dynamically applicable.
The configuration infrastructure was already providing events. It is now that most of the listeners have now started applying those changes dynamically.

Note: All developers are urged to add relevant information here, so that it can be documented appropriately.

ID XPath Comments
0 http-service All http-service attributes and subelements are dynamically reconfigurable  
2 security-service/message-security-config Message security config events are now generated and listened to by the listeners.

Changes to the default configuration

It was thought that the current default configuration of GlassFish for all the profiles is not the best for Grizzly to perform. Jeanfrancois has come up with a list of configurations that make Grizzly perform better. There is a confusion among developers and users alike, whether these should make it to the default configuration of the server in all the profiles or whether there should be a separate profile that makes Grizzly perform better.
See

for some background.

The following table will decide what we do with the settings proposed here. The final decision, I hope would be to fold
some of the settings into the default ones and leave the rest for a different profile.

ID Setting Current Default Grizzly Optimization Suggestion Overall Recommendation (Add to default, don't add to default)
0 JVM type --client for developer profile and cluster profiles, --server for enterprise profile. The reason is that client VM is suited best for frequent start/stops which are typical of developers, whereas for enterprises, it is not typical. Also client VM is supposed to come up faster. Apparently, Grizzly wants server VM all the time. Grizzly performs better with server VM, so the recommendation here is that for Grizzly to perform well, we should always use server VM and apparently, it makes a "huge" difference. ?
1 JVM parameters, Sun VM specific We use minimum JVM options by default, these are the ones that we use: -XX:MaxPermSize=192m, -XX:NewRatio=2, -Xmx512m, -Dsun.rmi.dgc.server.gcInterval=3600000, by default. The recommended ones are: XX:+AggressiveHeap -Xmx3500m -Xms3500m -Xss128k -XX:+DisableExplicitGC ?
2 Quick startup This is enabled for developer profile, disabled for cluster and enterprise profiles Grizzly prefers if the Quick startup is completely disabled, by default. The effect of QS enablement is not as bad as it used to be, though. We use Quick Startup only for Client VM. See Issue 2884 .
3 Request-Processing Threads The range is from 2 to 20, by default. Thus, when server starts up, 2 request processing threads are started. The maximum number of request processing threads is 20. The range recommended is 10 to 130. ?
4 Connection queue length (max number of pending connections) 4096 No clear recommendation here, the performance runs are taken with this value set to -1. ?
5 Protocol Handler WSIT is supported and ws/tcp protocol handler is installed by default Remove the protocol handler ?
6 Static File Caching Disabled for developer profile so that the static files changed in the docroot are immediately served. Enabled for cluster/enterprise profiles. This was earlier recommendation. Enable file cache. ?