I have looked at this now

in the constructor of Session we do this:

    protected Session(final IApplication application)
    {
        this.application = application;
        setPageFactory(application.getSettings().getDefaultPageFactory());
        setClassResolver(application.getSettings().getDefaultClassResolver());
        this.pages = MostRecentlyUsedMap.newInstance(application.getSettings()
                .getMaxSessionPages());
    }


So we are getting the defaults and are storing that in the Session object.
Now i can make the page an class resolvers transient. But what should i store then?
The classname? Then we should require that they have a default constructor so that i can do newInstance();

Also i see this:
    private transient IApplication application;

and the getter:
    public final IApplication getApplication()
    {
        return application;
    }

But that could be a problem Because if it is serialized and deserialized how do we get the application back?
then that session wouldn't have a application anymore!

any thoughts?

johan



Juergen Donnerstag wrote:
I remember Jon's explanation why it makes sense to have IPageFactory
access through the Session. But does it really need to be synchronized
in a cluster? I don't think so. Without having taken a look at the
implementation, why not make the pageFactory transient?

Juergen


On Wed, 19 Jan 2005 19:52:03 +0100, Johan Compagner <[EMAIL PROTECTED]> wrote:
  
just did this.

      
But then i think the Log  should be: public static final Log.
        
which class are you talking about?  and why public?

      
i meant private. But loggers should be static so that you don't
serialize them.

But i already made them serializeable at my place but now i get this
exception

java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: java.lang.reflect.Constructor
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1278)

so somewhere i think DefaultPageFactory? We are keeping Constructor
objects in a map
So i made the constructorsForClass map transient.
(so if it get's deserialized the constructors need to be relookup but
that is no problem ofcourse)

johan

-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

    


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop


  

Reply via email to