[
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