0

我们正在尝试将 infinispan 配置为 Jboss EAP 7.1 中 Hibernate 的二级缓存,并在集群的两个节点设置中运行 jboss。

查找缓存元素有效,但如果我们更新休眠实体,则由 infinispan 触发的更新缓存步骤在两个节点上都会失败,并出现我们尝试更新的实体的编组错误(由找不到类异常引​​起)。

这是配置:

在 hibernate-cfg.xml org.hibernate.cache.infinispan.InfinispanRegionFactory

在示例实体 hbm.xml

 <class name="com.business.standard.StandardCode" table="csc011">

 <cache usage="read-write"/>   

在 jboss 独立-ha.xml 中

        <cache-container name="hibernate"  module="org.hibernate.infinispan">
            <transport channel="hibernate-channel" lock-timeout="60000"/>
            <local-cache name="local-query">
                <eviction strategy="LRU" max-entries="10000"/>
                <expiration max-idle="100000"/>
            </local-cache>
            <replicated-cache name="timestamps" mode="ASYNC"/>
            <invalidation-cache name="entity">
                <transaction mode="NON_XA"/>
                <eviction strategy="LRU" max-entries="10000"/>
                <expiration max-idle="100000"/>
            </invalidation-cache>               
        </cache-container>

错误 :

15:02:45,974 WARN [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher](OOB-20,XXX-53994)ISPN000220:从字节缓冲区解组远程命令时出现问题:java.lang.ClassNotFoundException:com.business。来自本地模块加载器@64d2d351(查找器:本地模块查找器@1b68b9a4(根:C:\jboss-eap-7.1\NodeA\modules,C:\jboss-eap- 7.1\NodeA\modules\system\layers\base.overlays\layer-base-jboss-eap-7.1.5.CP,C:\jboss-eap-7.1\NodeA\modules\system\layers\base,C:\ jboss-eap-7.1\DEV\modules))] 在 org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412) 的 org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198) .modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.jboss .marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:123) 在 org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:104) 在 org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:1022) 在org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1355) 在 org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272) 在 org.jboss.marshalling.river.RiverUnmarshaller.doReadObject( RiverUnmarshaller.java:220) 在 org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:第 1853 章.doReadObject(RiverUnmarshaller.java:272) 在 org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:205) 在 org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41) 在 org.infinispan。 commons.marshall.MarshallUtil.unmarshallArray(MarshallUtil.java:159) at org.infinispan.commands.write.InvalidateCommand.readFrom(InvalidateCommand.java:109) at org.hibernate.cache.infinispan.util.BeginInvalidationCommand.readFrom(BeginInvalidationCommand. java:47) 在 org.infinispan.marshall.exts.ReplicableCommandExternalizer。readCommandParameters(ReplicableCommandExternalizer.java:113) at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:89) at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:41) at org.infinispan .marshall.core.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:479) 在 org.infinispan.marshall.core.ExternalizerTable.readObject(ExternalizerTable.java:236) 在 org.infinispan.marshall.core.JBossMarshaller$ExternalizerTableProxy.readObject (JBossMarshaller.java:149) 在 org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:205) 的 org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:350)。编组.AbstractObjectInput。readObject(AbstractObjectInput.java:41) at org.infinispan.commands.remote.SingleRpcCommand.readFrom(SingleRpcCommand.java:46) at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readCommandParameters(ReplicableCommandExternalizer.java:113) at org.infinispan .marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:173) at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:68) at org.infinispan.marshall.core.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable .java:479) 在 org.infinispan.marshall.core.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:149) 在 org.jboss 的 org.infinispan.marshall.core.ExternalizerTable.readObject(ExternalizerTable.java:236)。 marshalling.river.RiverUnmarshaller。doReadObject(RiverUnmarshaller.java:350) 在 org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:205) 在 org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41) 在 org.infinispan.commons .marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:134) 在 org.infinispan.marshall.core.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:101) 在 org.infinispan.commons.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegating.java :80) 在 org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:163) 在 org.jgroups 的 org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:28)。块。RequestCorrelator.handleRequest(RequestCorrelator.java:455) at org.jgroups.blocks.RequestCorrelator.dispatch(RequestCorrelator.java:406) at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:357) at org.jgroups.blocks org.jgroups 的 org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:664) 的 .RequestCorrelator.receive(RequestCorrelator.java:245) org.jgroups 的 org.jgroups.JChannel.up(JChannel.java:738)。 stack.ProtocolStack.up(ProtocolStack.java:1030) at org.jgroups.protocols.FRAG2.up(FRAG2.java:165) at org.jgroups.protocols.FlowControl.up(FlowControl.java:390) at org.jgroups .protocols.pbcast.GMS.up(GMS.java:1037) 在 org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234) 在 org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1077 ) 在 org.jgroups.protocols。UNICAST3.handleDataReceived(UNICAST3.java:792) at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:649) at org.jgroups.UNICAST3.up(UNICAST3.java:433) at org.jgroups .protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155) 在 org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200) 在 org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:325) 在 org. jgroups.protocols.MERGE3.up(MERGE3.java:292) at org.jgroups.protocols.Discovery.up(Discovery.java:296) at org.jgroups.protocols.MPING.up(MPING.java:178) at org .jgroups.protocols.TP.passMessageUp(TP.java:1658) 在 org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1876)VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155) 在 org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200) 在 org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:325) 在 org.jgroups.protocols .MERGE3.up(MERGE3.java:292) 在 org.jgroups.protocols.Discovery.up(Discovery.java:296) 在 org.jgroups.MPING.up(MPING.java:178) 在 org.jgroups。 org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1876) 上的协议.TP.passMessageUp(TP.java:1658)VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:155) 在 org.jgroups.protocols.FD_ALL.up(FD_ALL.java:200) 在 org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:325) 在 org.jgroups.protocols .MERGE3.up(MERGE3.java:292) 在 org.jgroups.protocols.Discovery.up(Discovery.java:296) 在 org.jgroups.MPING.up(MPING.java:178) 在 org.jgroups。 org.jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1876) 上的协议.TP.passMessageUp(TP.java:1658)jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1876)jgroups.protocols.TP$SingleMessageHandler.run(TP.java:1876)

谢谢 Santhosh S

4

0 回答 0