[ 
https://issues.apache.org/jira/browse/WICKET-1741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12612270#action_12612270
 ] 

Eric Glass commented on WICKET-1741:
------------------------------------

I understand your concern with a change like this to the API. We were having 
problems with developers placing non-serializable Objects into the session. 
When we were stress testing the application with a BEA WebLogic engineer he 
gave us this code to test for serialization. It is dated back to 2002. The 
DefaultSerializationHelper is code that we wrote into our application to 
automate the checking of non-serializable Objects. We can change the code to 
overlook Wicket classes. The particular code for checking the default 
constructor is as follows:

/* Public constructor check */
Constructor[] ctors = attrValue.getClass().getConstructors();
boolean hasDefaultConstructor = false;

for (int i = 0; i < ctors.length; i++) {
  if (ctors[i].getParameterTypes().length == 0) {
    hasDefaultConstructor = true;
    break;
  }
}

if (hasDefaultConstructor) {
  // Continue checking...
}


> Default constructor needed to satisfy BEA WebLogic serialization test
> ---------------------------------------------------------------------
>
>                 Key: WICKET-1741
>                 URL: https://issues.apache.org/jira/browse/WICKET-1741
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.4-M2
>         Environment: BEA WebLogic 9.2, Red Hat Enterprise Server 5
>            Reporter: Eric Glass
>            Assignee: Igor Vaynberg
>         Attachments: SerTestServlet.jsp
>
>
> The following Wicket classes need to have a default constructor with no 
> parameters to satisfy a BEA WebLogic serialization test. The test is used to 
> make sure that all attributes that are placed into the user's session can be 
> replicated across the BEA WebLogic cluster. This serialization test was 
> provided by a BEA WebLogic engineer and it found that several of the Wicket 
> session attributes did not pass, because of not having a default constructor. 
>  Here are the classes that need to be changed.
> org.apache.wicket.PageMap 
> org.apache.wicket.protocol.http.AbstractHttpSessionStore.SessionBindingListener
>  
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore.SecondLevelCachePageMap
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to