Resolved Comments for the Application Development Guide

The following table lists comments that have been resolved for the Application Development Guide.

Comment ID Section, Page Number/URL Comment Status – (RESOLVED/UNRESOLVED
tjquinn Developing Java Clients, p. 213 Somewhere in #6 and/or #7 please mention that changes to sun-acc.xml are not needed (and are in fact not used) if the client will be launched using Java Web Start. Load-balancing settings are handled automatically in that case. RESOLVED
tjquinn Developing Java Clients, p. 213 The part of #7 that reads "The target-server element specifies" should read "The target-server elements specify" because the user should use one element per endpoint. RESOLVED
tjquinn Developing Java Clients, p. 213 (pls double-check this with Sheetal) The part of #7 that starts "As an alternative" is true, but this technique is discouraged in favor of using the target-server elements approach. Using the properties triggers a warning message when the app client runs. RESOLVED
geertjan JavaMail, chapter 19 I found this helpful, the content was detailed. I would like (1) reference to an actual example that I can download and (2) one or two paragraphs discussing alternatives to JavaMail RESOLVED
jy001 Chapter 3, pg 43 In the bullet for #2, you may want to add that "where ANT_HOME is /usr/sfw". It's a bit confusing to say that the ANT_HOME environment must include the following paths where ANT_HOME is not specified. RESOLVED
jy002 Chapter 3, pg 47 In the examples you may want add where ${assemble}, ${default-instance-name} etc are defined. RESOLVED
jy003 Chapter 3, pg 51 Remove "restart" from table 3-6 with attributes, action and debug. RESOLVED
jy004 Chapter 3, pg 51 Remove instanceport attribute from table 3-6 RESOLVED
jy005 Chapter 3, pg 58 Need to change last examples of sun-appserv-admin taks to use explicitcommand attribute RESOLVED
jy006 Chapter 3, pg 58 The default values for table 3-11, sun-appserv-jspc attibutes: destdir=none (Required), src=dir=none, webapp=none, classpath=none, classpathref=none, uriroot=none RESOLVED
jy007 Chapter3, pg 61 In table 3-13, remove "domain" attribute from the table RESOLVED
jy008 Chapter3, pg 65 The JBI Tasks seems incomplete. RESOLVED
jy009 New Please add the new asant tasks: wsimport and wsgen. These tasks are documented here . JP: Added new tasks to working draft and verified with Jane Young and Vivek Pandey. Posted for second review on 8/27. RESOLVED
harsha001 38 No need to reference iPlanet in the 4th major release after iplanet RESOLVED
harsha002 39 blogs.oracle.com reference : is it appropriate? JP: As long as the link isn't broken. RESOLVED
harsha003 72 optimizeit is no longer available. Check the link in the document RESOLVED
harsha004 72 instructions for netbeans profiler are missing!! JP: There's a link to them. RESOLVED
harsha005 72 wily introscope no longer available RESOLVED
harsha006 79 "authorization for servlets and EJB business logic." should be something like "authorization for Java EE components business logic." because security is not just for servlets and EJBs. RESOLVED
harsha007 80 *broken link * RESOLVED
harsha008 92 Need to insert a link to xwss.java.net and / or wsit.java.net RESOLVED
harsha009 93 Is this reference to WS-I BSP correct? " AMClientProvider and AMServerProvider â€Â" These providers secure web services and Simple Object Access Protocol (SOAP) messages using either WS-I BSP or Liberty ID-WSF tokens. RESOLVED
harsha010 95 Message security can also be specified using WSIT security policy in wsdl. This has be mentioned here RESOLVED
harsha011 99 The instructions to download the sample app may need to be updated. RESOLVED
monzillo001 Chapter 5, p80 jsr 196 is not "required" by the current, EE 5.0, specification. there may be a reference to 196 in the futures section JP: Goal, not required. RESOLVED
monzillo002 Chapter 5, p83 you can "activate" a defualt p2r mapping, you can't strictly sepaking define one. Also the quide should describe that the default mapping maps group principals to same named roles. RESOLVED
monzillo003 Chapter 5, p87 JACC is used to plug in the java policy provider used by the container to perform j2ee caller access decisions, and that is used to perform java policy decisions during application execution. RESOLVED
monzillo004 Chapter 5, p88 remove the word "standard" from the sentence referring to server.policy. neither this file or its syntax is standard. you may want to refer to this file as the "global" policy file, as its contents apply to all applications/policy contexts deployed within the application server. RESOLVED
monzillo005 Chapter 5, p90 it would ge useful to include an example of the error message that will occur in server.log (for a failed permission check), and to describe what it means, and how it can be interpretted to create a compensating grant statement. JP: Incorporated for 9.1.1. RESOLVED
dkoper Chapter 2, Using the System Classloader it says the application/module will be accessible to any other application across the /domain/. Should this not be Server Instance or Cluster using that Configuration? JP: Section says to edit the default config, which applies to the domain. RESOLVED
Jagadish Ramu Chapter 15, page 254 it says "The JDBC 4.0 DataSource implementation in the Application Server provides ... " This feature will be available irrespective of JDBC version. It is available from 9.1. It can be rephrased as "The DataSource implementation in the Application Server provides ..." RESOLVED
Jagadish Ramu Chapter 15, page 255 Indentation of "public java.sql.Connection getNonTxConnection(String user, String password) " is not proper RESOLVED
tjquinn004 Chapter 11, p. 211 Note about incompatibility refers to "...a server running under a different major ACC version..." The server does not really run under an ACC version; in fact the ACC does not run on the server, only on client systems. The restriction is that an ACC from one major version and a server from a different major version are not guaranteed to interoperate. RESOLVED
tjquinn005 Ch. 11, p. 214, paragraph after the bullet list in list item 4 This implies that the package-appclient script can be used during development to build the app client prior to deployment. In contrast, the developer assembles the app client using other techiques (NetBeans, etc.), deploys it, and only then uses this script to collect all the files needed to run this client on a remote client system that does not have the app server installed on it. These files are collected into a JAR that the developer or administrator can transport to any number of remote client systems. RESOLVED
tjquinn006 Ch. 11, p. 214-215 The last graph of no. 6 on p. 214 essentially duplicates the information in no. 7 on p. 215. RESOLVED
tjquinn007 Ch. 11, p. 217 The sixth and seventh graph describe features that do not exist. We do not provide a way to individually enable or disable Java Web Start support for an app client nested inside an EAR. The administrator can enable or disable the JWS support for all clients in an app, as the discussion just higher on the page. We also allow controlling JWS support for stand-alone app clients as discussed just below on the page. So remove the graph that starts "To disable Java Web Start for one eligible application client in an application" and the example commands just afterwards. RESOLVED
tjquinn008 Ch. 11, p. 218 Separate e-mail sent to June about the context-root computation and defaults for Java Web Start access to app clients RESOLVED
tjquinn009 Ch. 11, p. 218 Last graph before the last example on the page - The ampersand is a separator between arguments, not a terminator. RESOLVED
rampsarathy001 Ch. 18, p. 271 The doc mentions "Sun Java SystemMessage Queue 3.7 UR1" in all the places, the MQ that goes with 9.1 is "Sun Java SystemMessage Queue 4.1", should'nt we point the users to the docs corresponding to this release of MQ rather than an old one. JP: I've notified the doc lead, who has redirected the links for the entire collection. RESOLVED
rampsarathy002 Ch. 18, p. 274 under "You can also set these properties", please add server.jms-service.property.user-name = server.jms-service.property.password = RESOLVED
sivakumart001 Ch. 2, p. 38 Application specific classloading. instead of pointing to the blog, could you point to a permalink of the classloaders FAQ entry RESOLVED
sivakumart002 Ch. 2, p. 39-40 Using the system classloader - Could we reword this sentence. "Using the System class loader makes an application or module accessible to any other application or module across the domain." This gives us an indication that updating system-classpath makes it available to the entire domain. We should specify that providing a module in the system classpath of a particular "config" makes it available to all applications deployed in that config.For example modifying server-config makes it available to applications deployed in DAS, modifying "cluster1-config" makes it available to apps in cluster1 etc. This change should also be made to "Using the common classloader section RESOLVED
sivakumart003 Ch. 2, p. 37 Suggestion. Could we separate out the last two paragraphs of "The ClassLoader Hierarchy" into another section as "Web application classloader delegation" or something like that? This would basically provide a URL anchor that we could use to point to users in forums/mailings lists who are interested in how to invert web app classloader delegation. This is a suggestion and it is okay if we can;t do this RESOLVED
sivakumart004 Ch. 2, p. 38 To fix this page , could we also indicate that libraries are specified as comma-separated entries in the section "Application-Specific class loading" RESOLVED
sivakumart005 Ch. 18, p. 272 Could we change all references of MQ 3.7 documentation to MQ4.1 as MQ 4.1 is bundled with 9.1 (for example "For details, see “Master Broker” in Sun Java System Message Queue 3.7 UR1 Administration Guide") JP: I've notified the doc lead, who has redirected the links for the entire collection. RESOLVED
sivakumart006 Ch. 18, p. 273 "Generic Resource Adapter". Could we explain when a user uses jmsra and when Generic RA for JMS needs to be used? jmsra should be used for users who want the bundled SJSMQ(OpenMQ) for their messaging needs. For users who would like to use other messaging providers like Websphere MQ(MQ Series), Generic RA for JMS needs to be used. RESOLVED
sivakumart007 Ch. 18, p. 275 "If a message-driven bean is deployed and the physical destination it listens to doesn't exist, the Application Server automatically creates the physical destination and sets the value of the property maxNumActiveConsumers to -1" This is application to only Queues. I also see the same section repeated in the next page under destination resources. It is more application here than under destination resource, so please remove the note in page 276 RESOLVED
sivakumart008 Ch. 18, p. 279 JMS Service High Availability. Could you mentioned that data availability could only be enabled when the SJSMQ cluster associated with an AS cluster is of "HA-cluster" type. Also indicate that messages are persisted in the common persistence store only in this particular case. The line "You must enable availability for the Application Server instances before you can enable data availability for the corresponding brokers." is also possibly confusing. Are you referring to JMS availability when you say "before you can enable data availabilityfor the corresponding brokers"? If yes, could we replace that phrase with "JMS Availability". If not, then in the case where a user enables JMS availability on an AS cluster which has its JMS service configured as LOCAL, the AS would "automatically" create a MQ cluster of "HA-Cluster" type and hence the user does not need to enable data availablity in the corresponding brokers. Please see "HA cluster support" in this page for more information. As you have correctly done, you could point to the HA admin guide for more detailed information and explain the general idea in the developer guide. Thanks. RESOLVED
shalm-001 Page 147 New content to be added under topic Associate With Thread Description : "This is an option to associate a connection with the thread such that when the same thread is in need of a connection, it can reuse the connection already associated with that thread. In this case, the overhead of getting a connection from the pool is avoided. However when this value is set to true, one should verify that the value of max-pool-size attribute is comparable to the max-thread-pool-size attribute of the thread-pool element. If the max-thread-pool-size value is way high than the max-pool-size, lot of time is spent in associating a connection to the new thread, after dissociating it from an older one. This attribute is basically used in cases where the user needs the thread pool to reuse connections thereby avoiding an overhead." RESOLVED TBD in online help and Reference Manual (man pages).
shalm-002 Page 147 New content to be added under topic Connection Leak Timeout/Connection Leak Reclaim Description : "These attributes are used together to avoid potential connection leaks from the application. When leak reclaim is set to true, the connection leak timeout would be the amount of time in seconds, to trace the connection leaks in the connection pool. More details are at http://blogs.oracle.com/kshitiz/entry/connection_leak_tracing

."

RESOLVED TBD in online help and Reference Manual (man pages).
shalm-003 Page 147 New content to be added under topic Connection Validation Description : "The application server can validate database connections in three ways: auto-commit, metadata, and table. auto-commit and metadata - The application server validates a connection by calling the con.getAutoCommit() and con.getMetaData() methods.Because many JDBC drivers cache the results of these calls, they do not always provide reliable validations. Check with the driver vendor to determine whether these calls are cached or not.table - The application queries a database table that is specified. The table must exist and be accessible, but it doesn't require any rows. Do not use an existing table that has a large number of rows or a table that is already frequently accessed. More details can be found at http://blogs.oracle.com/JagadishPrasath/entry/connection_validation_in_glassfish_jdbc

."

RESOLVED TBD in online help and Reference Manual (man pages).
shalm-004 Page 147 New content to be added under topic Match Connections Description : "If the connection pool is used by applications that have multiple user credentials, it is necessary that match-connections is turned ON. Connection pool will match the request's credential with the connections in the pool and return a matched connection for use. In case of new requests with different credentials, unmatched free connections will be automatically purged to provide new connections to satisfy the new requests. This attribute need not be set to true if it is known that there is only one credential used by the applications and hence the pool will have homogeneous connections." RESOLVED TBD in online help and Reference Manual (man pages).
shalm-005 Page 147 New content to be added under topic Statement Timeout Description : "This is the time in seconds after which abnormally running queries are terminated. A long running jdbc query executed by an application may leave it in a hanging state, unless a timeout is explicitly set on the statement. This provides the user to know that all queries would automatically timeout if not completed within the specified period. When statements are created, the queryTimeout will be set according to the value specified in this property. This will work only when the underlying JDBC driver supports queryTimeout for Statement, PreparedStatement, CallableStatement and ResultSet." RESOLVED
shalm-006 Page 147 New content to be added under topic Wrap JDBC Objects Description : "When this is set to true, wrapped jdbc objects are got for Statement, PreparedStatement, CallableStatement, ResultSet and DatabaseMetaData. This option makes sure that Statement.getConnection() will be the same as DataSource.getConnection(). Hence this option should be set to true when both Statement.getConnection() and DataSource.getConnection() are done. Default is set to false in the Enterprise server so as to not break the existing applications." RESOLVED
shingwai-001 page 98 Developing Web Applications The Grizzly Implementation of Comet It mentions that Cometd application consists of ..., a set of Dojo libraries, ... This is not true. We don't need Dojo libraries. A AJAX libraries will work, too. Several lines later, it seems that this is clarified. RESOLVED Added "or Ajax".
shingwai-002 page 99 and 100 Developing Web Applications Grizzly Comet I think "The Hidden Frame Example" is a better name than "The Hidden Example". RESOLVED
shingwai-003 page 123 Developing Web Applications Enabling WebDAV The WebDAV example have listings=true and readOnly=false. Besides setting up security constraints (as in the example), it is important to ask them to turn on security manager, too. RESOLVED
ludo-001 page 19 first sentence talsk about GlassFish enterprise server, not saying it is v3 prelude. Not sure if we want it to be generic or not RESOLVED Product Name variable currently set at for-price product.
ludo-002 page 19 Last sentence after NetBeans IDE, we need to add a small paragraph stating that there is a GlassFish Enterprise Server plugin for the Eclipse IDE located at ( http://glassfishplugins.java.net

)

RESOLVED Covered later in chapter. This section is for bundled features only.
ludo-003 page 21 development tool add a mention of the "Eclipse IDE" which has a v3 plugin as well RESOLVED Moved Eclipse section to right after NetBeans section.
ludo-004 page 31 paragraph with AS_NATIVE_LAUNCHER remove it as there is not more native launcher in v3 prelude RESOLVED
mvatkina-001 page 133 EJBTimer Service the war file location is now as-install/lib/install/applications, and (if 1.0-SNAPSHOT is removed) the name should be ejb-timer-service-app.war RESOLVED
mvatkina-002 page 134 EJBTimer Service remove the last bullet: changing Timer DataSource is not yet supported RESOLVED
mvatkina-003 page 151 - tx recovery is not yet supported remove all configuration settings (or list them as not yet supported) that refer to recovery or transaction logs RESOLVED Added a note: Transaction recovery is not implemented for GlassFish v3 Prelude, even if the JTS and OMG add-on components are installed. Therefore, all transaction service attributes and properties pertaining to transaction recovery or transaction logs are not implemented.
mvatkina-004 remove pages 152-154 tx recovery is not yet supported RESOLVED
maheshk-01 Page 131, Summary of EJB 3.1 changes This is really not a summary of all the 3.1 changes. If you really require that I can send it RESOLVED Removed the section, because the doc set need not include info obtainable from public specs.
maheshk-01 1Page 132, Summary of EJB 3.1 changes We talk about no-interface view and packaging EJBs in .war here. In prelude we also support Singleton EJBs. There must be a separate section on Singleton. RESOLVED Removed the section, because the doc set need not include info obtainable from public specs.
shalm-01 Page 233, Handling Invalid Connections The PreferValidateOverRecreate could be described a bit more. This property prefers validation first before killing the idle connections. Irrespective of whether the property is set or not, non-idle connections will be validated. RESOLVED Added: The PreferValidateOverRecreate property specifies that validating idle connections is preferable to closing them. This property has no effect on non-idle connections.
shalm-02 Page 246, Description of fail-all-connections It should be included that "if a single connection fails, all connections in the pool are closed and re-established. When set to false, individual connections are re-established only when they are used." RESOLVED Changed to: If the fail-all-connections setting in the connection pool configuration is set to true, and a single connection fails, all connections are closed and recreated. If this setting is false, individual connections are recreated only when they are used.
shalm-03 Page 246, Handling Invalid Connections The PreferValidateOverRecreate could be described a bit more. This property prefers validation first before killing the idle connections. Irrespective of whether the property is set or not, non-idle connections will be validated. RESOLVED See shalm-01.
ksaks-001 Page 123, Packaging an EJB JAR File ... Instead of "Packaging an EJB JAR File in a Web Application", it's better to say "Packaging enterprise beans in a Web Application". The term "ejb jar" causes confusion with the traditional approach for packaging enterprise beans. RESOLVED Removed the section, because the doc set need not include info obtainable from public specs.
ksaks-002 Page 182, Minimum Delivery Interval Default has been changed to 1000 RESOLVED Changed.
ksaks-003 Page 217 (appclient) , 259 (JNDI) We need to change (or remove) the notes that talk about installing the EJB container on top of the web distribution. The EJB 3.1 Lite container is now included by default in the web distribution. If the full EJB 3.1 API is needed, the developer should use the full glassfish v3 distribution rather than using the update tool. RESOLVED In classloader, security, persistence, web app, EJB, CMP, appclient, and JNDI chapters, changed note to: The Web distribution of the Enterprise Server supports the EJB 3.1 Lite specification, which allows enterprise beans within web applications, among other features. The full distribution supports the entire EJB 3.1 specification. For details, see JSR 318 ( http://jcp.org/en/jsr/detail-318

).

tjquinn-001 p. 226-227 The first bullet point on p. 227 should refer to the -splash option on the java command, not on the appclient command. Users launch programs that use the embedded API with the java command, not the appclient command. RESOLVED Changed.
Jagadish.Ramu-001 Chapter 12, page 229 abbreviation - (CA) is not needed as we do not have a official abbreviation, it may clash with Java Cryptography Architecture RESOLVED "CA" removed.
Jagadish.Ramu-002 Chapter 12, page 229 Need to add a new section : Summary of Connector Architecture 1.6 specification changes : content via email RESOLVED Did not add the section, because the doc set need not include info obtainable from public specs.
Jagadish.Ramu-003 Chapter 12, page 229 "Note" has to be changed - Support for connector modules that use only outbound communication features, work-management that does not involve inbound communication features, is available in Web distribution RESOLVED Note changed to: If you installed the Web distribution, connector modules that use only outbound communication features and work-management that does not involve inbound communication features are supported. Other connector features are not supported unless the optional Connector add-on component is downloaded from the Update Tool. For information about the Update Tool, see the Installation Guide.
Jagadish.Ramu-006 Chapter 12, page 232 Section - Work Security Maps : New Content : content via email RESOLVED Added content with a few edits for clarity.
Jagadish.Ramu-004 Chapter 12, page 231 Section-ThreadPools : As we do not have support for configuring thread pools in preview, we can remove all the content except first two lines ie., content starting from "However, you can associate a specific user-created..." can be removed. This will be added for V3 Final release RESOLVED Commented out for Preview.
Jagadish.Ramu-005 Chapter 12, page 232 Section - Work Security Maps: Seems like the content is taken from Connector Security Map which is different than Work Security Map. Connector Security Map support is not yet available in preview. RESOLVED Commented out for Preview.
Jagadish.Ramu-007 Chapter 12, page 233 Section - Setting shutdown timeout: can be removed as the support is not available for preview RESOLVED Commented out for Preview.
monzillo006 Security chapter, message security section Configuring Message Security for Web Services should be revised to describe the jsr 196 architecture, and the alternative configurations systems incluiding the ws-policy based system, that are integrated in as9.1, and how additional systems are integrated. RESOLVED Added Ron's blog "Adding Authentication Mechanisms to the GlassFish Servlet Container" to the Securing Applications chapter.
monzillo007 Security chapter, message security section that we are using jsr 196 in the web tier to facilitate the injection of pluggable authentication modules within the servlet constraint processing engine. we should aslo describe how one goes about doing this (either here or in the admin guide). RESOLVED Added Ron's blog "Adding Authentication Mechanisms to the GlassFish Servlet Container" to the Securing Applications chapter.
tjquinn001 Debugging Apps/App Client Debugging, p. 69 The text is correct as written. Alternatively, users can (if they want to) specify the debugger options directly on the appclient command, before the client selector. (Also, my impression was that the JDK documentation now tends to use the
-agentlib:jdwp=transport=dt_socket,address=8118,server=y,suspend=y
notation, but what's written works as well.)
RESOLVED
tjquinn002 Signing JAR Files Used in Java Web Start, p. 211, end of 2nd paragraph The example for a signed system JAR is no longer correct in v3. Instead of
as-install/lib/appserv-jwsacc.jar
let's use
as-install/modules/gf-client.jar
RESOLVED
tjquinn003 Signing JAR Files... I should have caught this earlier. Ideally, can we remove the discussion about manual signing entirely? The discussion of the default alias is still accurate. But the rest of discussion should focus not on manual signing but on the new deployment-time property
jar-signing-alias
which causes the signing code to use the user-supplied alias instead of the default alias to sign all JARs - system and application JARs - required for clients in that app. Users can add their own certificate to the domain's keystore using an alias they choose (e.g., myAlias) then can deploy an app using
deploy ... --property jar-signing-alias myAlias
. The enterprise server will then use the cert associated with that alias to sign any JARs that need signing.
RESOLVED
tjquinn004 Running an Application Client... p. 215 The first sentence makes it sound as if clients can be launched either using Java Web Start or with appclient script but not both. In fact, the appclient script approach is always OK, whether or not the client is eligible for launch using Java Web Start. RESOLVED
tjquinn005 Specifying a splash screen, p. 218 Please insert a new first bullet point, something like this: Create your app client JAR so that its manifest contains
SplashScreen-Image:
path-in-client-to-the-image. Java will display your splash screen before starting the ACC or your client, just as with any Java application.
RESOLVED
bhaktimehta-001 Pg 115 chapter 6 JAXWS 2.2 is supported (change jaxws 2.0 to 2.2) RESOLVED
bhaktimehta-002 Pg 116 chapter 6 Remove this section this is not supported any more You can use the autodeployment feature to deploy a simple JSR 181 ( http://jcp.org/en/jsr/detail-181

) annotated file. You can compile and deploy in one step, as in the following example: javac -cp webservices.jar -d domain-dir/autodeploy MyWSDemo.java

RESOLVED

Return to main comments page