This page provides links to review drafts of new and changed documentation for the Web Tier project as listed in the Web Tier Documentation Plan for GlassFish Server Open Source Edition 3.1.

Mandatory reviewers for each item are listed in each section.

Changes to existing documentation since the last release are marked with change bars. No changes are marked in new documentation.

Please provide your feedback by adding a comment to this page. To simplify the processing of your comments, please add your comments in the format in the sample comment. Review existing comments to see known issues and avoid duplicates.

Changes to Books

Add-On Component Developer Guide Changes

Section Documentation Impact Reviewers Status
Creating a New Session Persistence Module
draft2
draft3
draft4
New Rajiv Mordani
Shing-Wai Chan
Amy Roh
Dhiru Pandey
Kin-Man Chung
Justin Lee
Shaline
Sudipa Bhattacharya
In review. Final comments due by February 23rd, 2011.

Domain File Format Reference Changes

The Domain File Format Reference is canceled and therefore not being delivered in this release.

Changes to Man Pages


Note - Comments are now closed for man pages. To suggest an improvement to a man page or report an error in a man page, file a GlassFish issue, subcomponent docs, against the man page.


Man Page Name and Section Documentation Impact Reviewers Status
create-http(1) Minor Justin Lee Updated 11 Feb 2011
create-http-listener(1) Minor Justin Lee  
create-http-redirect(1) New Justin Lee  
create-network-listener(1) Minor Justin Lee  
create-protocol(1) Minor Justin Lee Updated 11 Feb 2011
create-protocol-filter(1) New Justin Lee  
create-protocol-finder(1) New Justin Lee  
create-transport(1) Minor Justin Lee Updated 11 Feb 2011
create-virtual-server(1) Minor Justin Lee Updated 11 Feb 2011
delete-http(1) Minor Justin Lee  
delete-http-listener(1) Minor Justin Lee Updated 11 Feb 2011
delete-http-redirect(1) New Justin Lee  
delete-network-listener(1) Minor Justin Lee  
delete-protocol(1) Minor Justin Lee  
delete-protocol-filter(1) New Justin Lee  
delete-protocol-finder(1) New Justin Lee  
delete-transport(1) Minor Justin Lee  
delete-virtual-server(1) Minor Justin Lee  
list-http-listeners(1) Minor Justin Lee Updated 11 Feb 2011
list-network-listeners(1) Minor Justin Lee  
list-protocol-filters(1) New Justin Lee  
list-protocol-finders(1) New Justin Lee  
list-protocols(1) Minor Justin Lee  
list-transports(1) Minor Justin Lee  
list-virtual-servers(1) Minor Justin Lee  

SGFESADDONDEV-session-persist.pdf (application/pdf)
create-http.pdf (application/octet-stream)
list-virtual-servers.pdf (application/octet-stream)
create-http-listener.pdf (application/octet-stream)
create-http-redirect.pdf (application/octet-stream)
create-network-listener.pdf (application/octet-stream)
create-protocol.pdf (application/octet-stream)
create-protocol-filter.pdf (application/octet-stream)
create-protocol-finder.pdf (application/octet-stream)
create-transport.pdf (application/octet-stream)
create-virtual-server.pdf (application/octet-stream)
delete-http.pdf (application/octet-stream)
delete-http-listener.pdf (application/octet-stream)
delete-http-redirect.pdf (application/octet-stream)
delete-network-listener.pdf (application/octet-stream)
delete-protocol.pdf (application/octet-stream)
delete-protocol-filter.pdf (application/octet-stream)
delete-protocol-finder.pdf (application/octet-stream)
delete-transport.pdf (application/octet-stream)
delete-virtual-server.pdf (application/octet-stream)
list-http-listeners.pdf (application/octet-stream)
list-network-listeners.pdf (application/octet-stream)
list-protocol-filters.pdf (application/octet-stream)
list-protocol-finders.pdf (application/octet-stream)
list-protocols.pdf (application/octet-stream)
list-transports.pdf (application/octet-stream)
list-http-listeners.pdf (application/octet-stream)
create-http.pdf (application/octet-stream)
create-protocol.pdf (application/octet-stream)
create-transport.pdf (application/octet-stream)
create-virtual-server.pdf (application/octet-stream)
delete-http-listener.pdf (application/octet-stream)
StrategyBuilder.pdf (application/pdf)
StrategyBuilder_v2.pdf (application/pdf)
StrategyBuilder_v3.pdf (application/pdf)
Comment ID Location Comment
sw-1 Add-On guide, p.13 The class org.glassfish.web.ha does not exist in workspace. You may like to contact Rajiv for the latest information to update the source codes in p13-14.
Posted by shingwai at Feb 09, 2011 17:27

To Shing Wai's comment it should either be BasePersistenceStrategyBuilder or if you want to use the interface which is the actual contract then it is

package com.sun.enterprise.web;


import com.sun.enterprise.deployment.runtime.web.SessionManager;
import org.apache.catalina.Context;
import org.jvnet.hk2.annotations.Contract;

@Contract
public interface PersistenceStrategyBuilder {
    
    public void initializePersistenceStrategy(
            Context ctx,
            SessionManager smBean,
            ServerConfigLookup serverConfigLookup);

    public void setPersistenceFrequency(String persistenceFrequency);

    public void setPersistenceScope(String persistenceScope);

    public void setPassedInPersistenceType(String persistenceType);
}

I think that the interface above is what should go in the Add-on component guide.

Posted by rajivmordani at Feb 11, 2011 15:39

The answer above confirm with what I see.

But in current doc, we have org.glassfish.web.ha.StrategyBuilder which is an abstract class. That is not correct.

Posted by shingwai at Feb 11, 2011 17:38

I have replaced the interface in the doc with the one above Rajiv supplied above. However, in the other code samples, do I also need to change "extends StrategyBuilder" with "extends PersistenceStrategyBuilder"? Once I get an answer to this, I'll post an updated version.

Posted by jeffschieli at Feb 21, 2011 12:31

Jeff yes please "implement" PersistenceStrategyBuilder. Also in the implementation classes that you have remove the getManager method. Other than that it looks good.

Posted by rajivmordani at Feb 22, 2011 10:40

Okay, so then the two implementation class samples would then look like this:

@Service(name="xyz")
public class XYZStrategyBuilder extends PersistenceStrategyBuilder {

    //Create a new manager, set the appropriate Store and return it
    return XYZManager;
    }

    public void init(StandardContext ctx, SessionManager sessionManager) {
        add listeners, values etc to the ctx,
    }
}

And this one:

@Service(name="MyHASolution")
public class MyHASolutionStrategyBuilder extends PersistenceStrategyBuilder {

    public void init(StandardContext ctx, SessionManager sessionManager) {
        add listeners, values etc to the ctx,
    }
}
Posted by jeffschieli at Feb 22, 2011 12:38
@Service(name="xyz")
public class XYZStrategyBuilder implements PersistenceStrategyBuilder {
    
    private String persistenceFrequency = null;
    private String persistenceScope = null;
    private String persistenceType = null;
 
    public void init(StandardContext ctx, SessionManager sessionManager, ServerConfigLookup serverConfigLookup) {
        // add listeners, valves etc to the ctx,
        // Set the manager and store
    }
 
    public void setPersistenceFrequency(String persistenceFrequency) {
        this.persistenceFrequency = persistenceFrequency;
    }
    
    public void setPersistenceScope(String persistenceScope) {
        this.persistenceScope = persistenceScope;
    }
        
    public void setPassedInPersistenceType(String persistenceType) {
        this.passedInPersistenceType = persistenceType;
    }    
    
}
@Service(name="MyHASolution")
public class MyHASolutionStrategyBuilder implements PersistenceStrategyBuilder {

    private String persistenceFrequency = null;
    private String persistenceScope = null;
    private String persistenceType = null;

    public void init(StandardContext ctx, SessionManager sessionManager, ServerConfigLookup serverConfigLookup) {
         // add listeners, valves etc to the ctx,
        // Set the manager and store
        MyManager myManager = new MyManager(persistenceType, persistenceFrequency); // (one could also make this a service and look it up in the habitat. For simplicity we are just doing a new of the class here)
        MyStore store = new MyStore();
        myManager.setStore(store);
        ctx.setManager(myManager);
    }
    public void setPersistenceFrequency(String persistenceFrequency) {
        this.persistenceFrequency = persistenceFrequency;
    }
    
    public void setPersistenceScope(String persistenceScope) {
        this.persistenceScope = persistenceScope;
    }
        
    public void setPassedInPersistenceType(String persistenceType) {
        this.passedInPersistenceType = persistenceType;
    }    

}
Posted by rajivmordani at Feb 22, 2011 13:46

Thanks. I just uploaded a new "draft3" version of the file. Let me know if you can sign off on it now.

Posted by jeffschieli at Feb 22, 2011 17:36

One last fix - Can you change the following -

The following topics are addressed here:
■ "Extending the StrategyBuilder Class " on page 11
Extending the StrategyBuilder Class
You can extend the StrategyBuilder class by creating a new web session manager type.

to say "Implementing the PersistenceStrategyBuilder" in the topic and in the corresponding heading. And then the sentence should say -

You can implement the PersistenceStrategyBuilder class by ....

With these changes I think it is good to go - no other changes from my side.

Posted by rajivmordani at Feb 22, 2011 21:54

Done. I changed a few other occurrences of it to "PersistenceStrategyBuilder" as well, so it's completely uniform now. Verify using "draft4".

Posted by jeffschieli at Feb 23, 2011 15:52