You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Martin Kreidenweis (JIRA)" <ji...@apache.org> on 2011/05/26 09:37:47 UTC

[jira] [Updated] (OFBIZ-4295) Deserialization of arrays with UtilObject.getObject() throws ClassNotFoundException

     [ https://issues.apache.org/jira/browse/OFBIZ-4295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Kreidenweis updated OFBIZ-4295:
--------------------------------------

    Attachment: OFBIZ-4295-classloader.patch

This patch fixes the array deserialization issue in for UtilIO and UtilObject by using {{Class.forName()}}.

> Deserialization of arrays with UtilObject.getObject() throws ClassNotFoundException
> -----------------------------------------------------------------------------------
>
>                 Key: OFBIZ-4295
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-4295
>             Project: OFBiz
>          Issue Type: Bug
>          Components: framework
>    Affects Versions: SVN trunk
>            Reporter: Martin Kreidenweis
>         Attachments: OFBIZ-4295-classloader.patch
>
>
> Deserialization of arrays with {{UtilObject.getObject()}} throws a {{ClassNotFoundException}}. This happened to us when we enabled the distributed cache clear feature and it was sending arrays of {{EntityExpr}} objects to other OFBiz instances. 
> The reason is, that the {{org.ofbiz.base.util.ObjectInputStream}} calls {{classLoader.loadClass(name)}} directly instead of using {{Class.forName(name, init, classLoader)}}. 
> According to java bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446627 {{ClassLoader.loadClass()}} is not intended to being used this way and doesn't support loading arrays.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira