[infinispan-issues] [JBoss JIRA] (ISPN-4468) HR client is not able to unmarshall custom class when using AS modules

Vojtech Juranek (JIRA) issues at jboss.org
Tue Jul 1 11:02:25 EDT 2014


    [ https://issues.jboss.org/browse/ISPN-4468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12981098#comment-12981098 ] 

Vojtech Juranek commented on ISPN-4468:
---------------------------------------

Do we want the users to touch module dependencies? IMHO the marshaller classloader should be able to load classes from deployment and in the worst case from jboss-deployment-structure.xml. I tried to redefined infinispan.commons module to depend on my custom class in jboss-deployment-structure.xml, but this doesn't work as well.

> 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.



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the infinispan-issues mailing list