You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Roland Huss (JIRA)" <de...@myfaces.apache.org> on 2005/11/24 10:13:55 UTC

[jira] Created: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Deserialization of view fails on Weblogic 8.1
---------------------------------------------

         Key: MYFACES-872
         URL: http://issues.apache.org/jira/browse/MYFACES-872
     Project: MyFaces
        Type: Bug
  Components: Implementation  
    Versions: Nightly    
 Environment: Linux
Weblogic 8.1
    Reporter: Roland Huss


The current MyFaces SVN snapshot used object serialization for storing the view in the session 
(instead of plain objects as it does in 1.1.1)

This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
Weblogic cannot find non-myfaces classes during view-restoring:

[java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
     [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
     [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
     [java]     ....
     [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)

Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
other.

I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Dennis Byrne (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358630 ] 

Dennis Byrne commented on MYFACES-872:
--------------------------------------

Please do contact BEA.  And please drop a few lines here even if it gets fixed so this bug doesn't live forever.  BTW, what JVM?

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358615 ] 

Roland Huss commented on MYFACES-872:
-------------------------------------

Setting the state saving method to client also doesn't work and throws the same exception. Please find attachted the
stacktraces for both cases.

Some additional hints:

* If one removes the BoardConverter from the configuration, the deserializing failes with an 
  ClassNotFoundException for the next application class

* Our application is packaged within an EAR, where we put in all jar toplevel in the archive
  with no jar within the war's WEB-INF/lib. Instead the WAR references its dependent jars
  from within its MANIFEST's classpath attribute:

  ear/
     myfaces-all.jar
     gss-client.jar
     gss-client.war
              WEB-INF/lib (empty)
              META-INF/MANIFEST.MF (classpath: ... myfaces-all.jar gss-client .jar ...)

  This is necessary since we use e.g. spring both in server and client layer and Spring needs to load 
  application  classes from the server jar as well as from the client jar

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss

>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358634 ] 

Roland Huss commented on MYFACES-872:
-------------------------------------

Ok, I will open a bug as BEA as soon as I get to it.

JVM is Sun-JDK 1.4.2_10

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358456 ] 

Roland Huss commented on MYFACES-872:
-------------------------------------

BTW, a workaround for Weblogic is setting org.apache.myfaces.SERIALIZE_STATE_IN_SESSION to false. However, it would be nice
if serializing (and compressing) the view would work as well.

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss

>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358619 ] 

Roland Huss commented on MYFACES-872:
-------------------------------------

Sorry: 

client_server_stacktrace.txt  should be named 'client_state_stacktrace' and the first line is indeed
javax.faces.STATE_SAVING_METHOD=client. Otherwise, the stacktrace is ok ;-)

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
     [ http://issues.apache.org/jira/browse/MYFACES-872?page=all ]

Roland Huss updated MYFACES-872:
--------------------------------

    Attachment: state_server_stacktrace.txt

Stacktrace during deserialization, state on server

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Dennis Byrne (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358623 ] 

Dennis Byrne commented on MYFACES-872:
--------------------------------------

Is BoardConverter an implementation of Converter or is that just a coincidence?

Can you tell me a little more about what you mean by "the deserializing failes with an ClassNotFoundException for the next application class "?

What happens when you try calling the following in you application?

Thread.currentThread().getContextClassLoader().loadClass("class name for BoardConverter ");
this.getClass().getClassLoader().loadClass("class name for BoardConverter");

The stack traces suggest weblogic is the problem.  Have you taken this up w/ them as well?  If so, direct them here if you'd like.

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Dennis Byrne (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358589 ] 

Dennis Byrne commented on MYFACES-872:
--------------------------------------

Please post a full stack trace, as well as a description of how the app behaves after setting the javax.faces.STATE_SAVING_METHOD context parameter to 'client'?

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss

>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "sean schofield (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358660 ] 

sean schofield commented on MYFACES-872:
----------------------------------------

So can we resolve this as "won't fix?"

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
     [ http://issues.apache.org/jira/browse/MYFACES-872?page=all ]

Roland Huss updated MYFACES-872:
--------------------------------

    Attachment: client_server_stacktrace.txt

stacktrace during deserialization, state on client

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (MYFACES-872) Deserialization of view fails on Weblogic 8.1

Posted by "Roland Huss (JIRA)" <de...@myfaces.apache.org>.
    [ http://issues.apache.org/jira/browse/MYFACES-872?page=comments#action_12358627 ] 

Roland Huss commented on MYFACES-872:
-------------------------------------

Yes, BoardConverter is an implementation of an JSF converter which handles our domain object Board

With "next application class" I mean the next class from our application's client jar file (gss-client.jar). In this case
it is a UserSession which is a backing bean for a component.

I inserted a phase listener with the following method:

 public void beforePhase(PhaseEvent phaseEvent) {
        printMark(">>>>>>>>>>>>>>>>>>>>>>>>>>>",phaseEvent);
        if (log.isDebugEnabled()) {
            try {
                Thread.currentThread().getContextClassLoader().loadClass("com.bmw.gss.client.converter.BoardConverter");
                this.getClass().getClassLoader().loadClass("com.bmw.gss.client.converter.BoardConverter");
                log.debug("Found BoardConverter class");
            } catch (ClassNotFoundException e) {
                log.debug("Couldn't found BoardConverter: " + e,e);
            }
        }
    }

The output is:

     [java] 44444 DEBUG    util.PhaseTracker| >>>>>>>>>>>>>>>>>>>>>>>>>>> RESTORE_VIEW(1) - (no view-id) | en_US
     [java] 44444 DEBUG    util.PhaseTracker| Found BoardConverter class
     [java] 44550 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter     [java] java.lang.ClassNotFoundException: com.bmw.gss.client.converter.BoardConverter
     [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:198)
     ....

So, loading the converter directly from the application works fine. In fact, as you can see the converter has been already loaded during
the previous serialization (otherwise we wouldn't get that far).

I didn't contacted BEA yet, but I agree that it is probably a Weblogic issue. However, I probably have to provide a stripped down
example showing this issue and unfortunately I'm very busy these days ;-(

For me the workaround to use plain objects instead of a serialized tree is usable. I just wanted to point out, that there might
be some issues with serialization/deserialization on Weblogic 8.1

> Deserialization of view fails on Weblogic 8.1
> ---------------------------------------------
>
>          Key: MYFACES-872
>          URL: http://issues.apache.org/jira/browse/MYFACES-872
>      Project: MyFaces
>         Type: Bug
>   Components: Implementation
>     Versions: Nightly
>  Environment: Linux
> Weblogic 8.1
>     Reporter: Roland Huss
>  Attachments: client_server_stacktrace.txt, state_server_stacktrace.txt
>
> The current MyFaces SVN snapshot used object serialization for storing the view in the session 
> (instead of plain objects as it does in 1.1.1)
> This leads to an ClassLoader issue on Weblogic 8.1 during deserialization of the view. It seems that
> Weblogic cannot find non-myfaces classes during view-restoring:
> [java] 78230 ERROR .JspStateManagerImpl| Could not deserialize state: com.bmw.gss.client.converter.BoardConverter
>      [java] java.lang.ClassNotFoundException: com.consol.gss.client.converter.BoardConverter
>      [java]     at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:199)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
>      [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
>      [java]     ....
>      [java]     at org.apache.myfaces.application.jsp.JspStateManagerImpl.deserializeView(JspStateManagerImpl.java:546)
> Strange engough, the client classes and myfaces.jar are loaded by the same Classloader (we deployed them as jar within
> an ear which are both referenced from the war's manifest) and except for this deserialization issue the can 'see' each 
> other.
> I'm not sure, whether this is MyFaces or a Weblogic Issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira