[jboss-jira] [JBoss JIRA] Updated: (JBCACHE-1323) pojoCache.find(fqn) always returns a proxy class object ( AOPClassProxy) whose member variables are not serializable.

Anand Ramadurg (JIRA) jira-events at lists.jboss.org
Tue Apr 8 07:56:54 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBCACHE-1323?page=all ]

Anand Ramadurg updated JBCACHE-1323:
------------------------------------

        Summary: pojoCache.find(fqn) always returns a proxy class object ( AOPClassProxy) whose member variables are not serializable.  (was: find(fqn) always return proxy class ( AOPClassProxy)  for lists which is not serializable)
    Description: 
pojoCache.find("list") returns a proxy class object ( AOPClassProxy0 ) for list objects.

This class has a member varialbe namely - org.jboss.cache.pojo.interceptors.dynamic.CachedListInterceptor which is not serializable.

We are writing this data  ( proxy class object ) to  a Queue, and when its trying to serialize, its throwing following exception,

java.io.NotSerializableException: org.jboss.cache.pojo.interceptors.dynamic.CachedListInterceptor
	at java.io.ObjectOutputStream.writeObject0(Ljava.lang.Object;Z)V(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Ljava.lang.Object;)V(Unknown Source)
	at java.util.ArrayList.writeObject(ArrayList.java:569)


Please provide an API to get the original list object instead of proxy class object. Currently we have work around for this, 

Object obj = pojoCache.detach("list");
pojoCache.attach("list");
return obj;

but above workaround is not recommended, since it is very time consuming as it obtains write locks on the nodes.




  was:
pojoCache.find("list") returns a proxy class object ( AOPClassProxy0 ) for list objects.

This class has a member varialbe namely - org.jboss.cache.pojo.interceptors.dynamic.CachedListInterceptor which is not serializable.

We are writing this data in a Queue, and its trying to serialize it, since its not serialable we are getting following exception,

java.io.NotSerializableException: org.jboss.cache.pojo.interceptors.dynamic.CachedListInterceptor
	at java.io.ObjectOutputStream.writeObject0(Ljava.lang.Object;Z)V(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Ljava.lang.Object;)V(Unknown Source)
	at java.util.ArrayList.writeObject(ArrayList.java:569)


Please provide an API to get the original list object instead of proxy class. Currently we have work around for this, 

Object obj = pojoCache.detach("list");
pojoCache.attach("list");
return obj;

but above workaround is not recommended since its very time consuming since obtains write locks on the nodes alos.




> pojoCache.find(fqn) always returns a proxy class object ( AOPClassProxy) whose member variables are not serializable.
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBCACHE-1323
>                 URL: http://jira.jboss.com/jira/browse/JBCACHE-1323
>             Project: JBoss Cache
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.1.0.GA
>         Environment: Windows XP
>            Reporter: Anand Ramadurg
>         Assigned To: Manik Surtani
>
> pojoCache.find("list") returns a proxy class object ( AOPClassProxy0 ) for list objects.
> This class has a member varialbe namely - org.jboss.cache.pojo.interceptors.dynamic.CachedListInterceptor which is not serializable.
> We are writing this data  ( proxy class object ) to  a Queue, and when its trying to serialize, its throwing following exception,
> java.io.NotSerializableException: org.jboss.cache.pojo.interceptors.dynamic.CachedListInterceptor
> 	at java.io.ObjectOutputStream.writeObject0(Ljava.lang.Object;Z)V(Unknown Source)
> 	at java.io.ObjectOutputStream.writeObject(Ljava.lang.Object;)V(Unknown Source)
> 	at java.util.ArrayList.writeObject(ArrayList.java:569)
> Please provide an API to get the original list object instead of proxy class object. Currently we have work around for this, 
> Object obj = pojoCache.detach("list");
> pojoCache.attach("list");
> return obj;
> but above workaround is not recommended, since it is very time consuming as it obtains write locks on the nodes.

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

        



More information about the jboss-jira mailing list