The details of the query module are a little out of my realm of
experience.  I'm CC'ing infinispan-dev, to open up the larger discussion
to classloading and compatibility with modular environments.

Off the top of my head, it seems like you need a custom
KeyTransformationHandler that can resolve classes using a ModuleLoader
(i.e. module ID + class name).  Thoughts?

Paul

On Thu, 2012-05-10 at 23:10 +0200, Ales Justin wrote:
> If I do <subject> I get this CNFE, see below.
> 
> Looks like I still need a combination of Cache::with(CL) -- so this code sees 
> Key class,
> and at the same time I don't want Infinispan to depend on GAE API.
> Where I also need to have SML as ClassResolver.
> 
> Are you sure setting CL on Cache breaks ClassResolver?
> 
> -Ales
> 
> ---
> 
> 23:00:50,321 ERROR [org.infinispan.query.backend.KeyTransformationHandler] 
> (http-/192.168.1.101:8080-2) ISPN014001: Could not locate key class 
> com.google.appengine.api.datastore.Key: java.lang.ClassNotFoundException: 
> com.google.appengine.api.datastore.Key
>       at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
> [classes.jar:1.6.0_31]
>       at java.security.AccessController.doPrivileged(Native Method) 
> [classes.jar:1.6.0_31]
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
> [classes.jar:1.6.0_31]
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
> [classes.jar:1.6.0_31]
>       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
> [classes.jar:1.6.0_31]
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
> [classes.jar:1.6.0_31]
>       at java.lang.Class.forName0(Native Method) [classes.jar:1.6.0_31]
>       at java.lang.Class.forName(Class.java:247) [classes.jar:1.6.0_31]
>       at org.infinispan.util.Util.loadClassStrict(Util.java:127) 
> [infinispan-core-5.2.0-SNAPSHOT.jar:5.2.0-SNAPSHOT]
>       at 
> org.infinispan.query.backend.KeyTransformationHandler.getCustomTransformer(KeyTransformationHandler.java:108)
>       at 
> org.infinispan.query.backend.KeyTransformationHandler.stringToKey(KeyTransformationHandler.java:96)
>       at 
> org.infinispan.query.impl.CacheQueryImpl.fromEntityInfosToKeys(CacheQueryImpl.java:174)
>       at 
> org.infinispan.query.impl.CacheQueryImpl.iterator(CacheQueryImpl.java:144)
>       at 
> org.infinispan.query.impl.CacheQueryImpl.iterator(CacheQueryImpl.java:137)
>       at 
> org.jboss.capedwarf.datastore.query.PreparedQueryImpl.createQueryIterator(PreparedQueryImpl.java:108)
>  [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>       at 
> org.jboss.capedwarf.datastore.query.PreparedQueryImpl.asQueryResultIterator(PreparedQueryImpl.java:73)
>  [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>       at 
> org.jboss.capedwarf.datastore.query.PreparedQueryImpl.asIterator(PreparedQueryImpl.java:64)
>  [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>       at 
> org.jboss.capedwarf.datastore.query.PreparedQueryImpl.asIterator(PreparedQueryImpl.java:60)
>  [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>       at 
> org.jboss.test.capedwarf.datastore.test.PreparedQueryTestCase.testAsIteratorWithOptionstestCountEntities(PreparedQueryTestCase.java:77)
>  [classes:]
> 


_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to