Hi,
I modify Contacts sample to use EhCacheBasedAclEntryCache,
when I try to execute, with 10000 contacts I obtain following error:Code:<bean id="aclCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/> <bean id="aclCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> <property name="cacheManager"> <ref local="aclCacheManager"/> </property> <property name="cacheName"> <value>aclCache</value> </property> <property name="timeToIdle"> <value>1800</value> </property> <property name="timeToLive"> <value>1800</value> </property> </bean> <bean id="aclCache" class="net.sf.acegisecurity.acl.basic.cache.EhCacheBasedAclEntryCache"> <property name="cache"><ref local="aclCacheBackend"/></property> </bean> <bean id="basicAclProvider" class="net.sf.acegisecurity.acl.basic.BasicAclProvider"> <property name="basicAclDao"><ref local="basicAclExtendedDao"/></property> <property name="basicAclEntryCache"><ref local="aclCache"/></property> </bean>
I see ehcache documentation and objects in cache have to be serializable.Code:[DEBUG,ContactManagerBackend,http-8080-Processor25] Returning all contacts [DEBUG,ContactManagerBackend,http-8080-Processor25] Returning all contacts [ERROR,DiskStore,Store aclCache Spool Thread] aclCacheCache: Could not write elements to disk cache java.io.NotSerializableException: net.sf.acegisecurity.acl.basic.SimpleAclEntry at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1245) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1069) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291) at net.sf.ehcache.store.DiskStore.flushSpool(DiskStore.java:515) at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:488) at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:89) at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:755)
I do anything wrong, or AclEntry has to serializable ?
Thanks,
Paulo


