]
Vojtech Juranek updated ISPN-4468:
----------------------------------
Issue Type: Bug (was: Feature Request)
HR client is not able to unmarshall custom class when using AS
modules
----------------------------------------------------------------------
Key: ISPN-4468
URL:
https://issues.jboss.org/browse/ISPN-4468
Project: Infinispan
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Marshalling, Remote Protocols
Reporter: Vojtech Juranek
Assignee: Dan Berindei
When using HR client in JBoss and use JBoss modules for HR client, storing custom objects
into remote cache works, however when custom objects is read back from remote cache, it
fails as {{ClassNotFoundException}}:
{noformat}
testPutGetCustomObject(com.jboss.datagrid.test.hotrod.HotRodRemoteCacheIT) Time elapsed:
1.749 sec <<< ERROR!
org.infinispan.client.hotrod.exceptions.HotRodClientException: Unable to unmarshall byte
stream
at
org.infinispan.client.hotrod.impl.RemoteCacheImpl.bytes2obj(RemoteCacheImpl.java:555)
at
org.infinispan.client.hotrod.impl.RemoteCacheImpl.get(RemoteCacheImpl.java:425)
at
org.infinispan.server.test.client.hotrod.AbstractRemoteCacheIT.testPutGetCustomObject(AbstractRemoteCacheIT.java:746)
{noformat}
[...]
{noformat}
Caused by: java.lang.ClassNotFoundException:
org.infinispan.server.test.client.hotrod.AbstractRemoteCacheIT$Person from [Module
"org.infinispan.commons:jdg-6.3" from local module loader @5cbf5bb7 (finder:
local module finder @171e7af3 (roots:
/opt/test_servers/jboss-eap-6.2.2/modules,/opt/test_servers/jboss-eap-6.2.2/modules/system/layers/base))]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at
org.jboss.marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:131)
at
org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:112)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:943)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1239)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at
org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at
org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:135)
at
org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.objectFromByteBuffer(AbstractJBossMarshaller.java:113)
at
org.infinispan.commons.marshall.AbstractMarshaller.objectFromByteBuffer(AbstractMarshaller.java:82)
at
org.infinispan.client.hotrod.impl.RemoteCacheImpl.bytes2obj(RemoteCacheImpl.java:553)
at
org.infinispan.client.hotrod.impl.RemoteCacheImpl.get(RemoteCacheImpl.java:425)
at
org.infinispan.server.test.client.hotrod.AbstractRemoteCacheIT.testPutGetCustomObject(AbstractRemoteCacheIT.java:746)
{noformat}
Adding jar file with
{{org.infinispan.server.test.client.hotrod.AbstractRemoteCacheIT$Person}} into
jboss-deployment-structure as a module didn't helped.