java - 在 Infinispan 中使用共享文件存储时获取 "java.io.IOException: Unsupported protocol version 22"

标签 java jboss wildfly infinispan

我在使用在多个节点之间共享的基于文件存储的缓存存储时遇到以下异常。

Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
    at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:174)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
    ... 73 more
Caused by: org.infinispan.persistence.spi.PersistenceException: java.io.IOException: Unsupported protocol version 22
    at org.infinispan.persistence.file.SingleFileStore.start(SingleFileStore.java:135)
    at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:141)
    ... 78 more
Caused by: java.io.IOException: Unsupported protocol version 22
    at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1249)
    at org.infinispan.commons.marshall.jboss.AbstractJBossMarshaller.startObjectInput(AbstractJBossMarshaller.java:128)
    at org.infinispan.marshall.core.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:142)
    at org.infinispan.marshall.core.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:98)
    at org.infinispan.commons.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:80)
    at org.infinispan.persistence.file.SingleFileStore.rebuildIndex(SingleFileStore.java:212)
    at org.infinispan.persistence.file.SingleFileStore.start(SingleFileStore.java:126)
    ... 79 more

这是我的缓存配置的样子:

<distributed-cache name="singletons">
        <versioning scheme="SIMPLE"/>
            <persistence passivation="false" >
                <file-store
                    path="${infinispan.dir}/broker-ds/singletons"
                    fetch-state="true" shared="true" preload="true" />
            </persistence>
        </distributed-cache>

有什么问题的线索吗?我使用的是 Infinispan 8.1 版本。

更新:

我使用了基于 JDBC 的共享存储,而不是基于共享文件的存储,并且一切正常。

最佳答案

不幸的是,您(目前)不能使用在多个节点之间共享的文件存储。使用专用于每个节点的目录或使用能够共享的存储(jdbc、jpa、cassandra)。

关于java - 在 Infinispan 中使用共享文件存储时获取 "java.io.IOException: Unsupported protocol version 22",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40373530/

相关文章:

java - 耶拿多个 rdfs :label

Java:无论应用服务器如何,通用访问资源文件

mysql - 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment](尝试使用EntityManager)

java - 无法访问 TransactionManager 或 UserTransaction 来进行物理事务委托(delegate)

java - 在 Linux 中运行还是通过 Eclipse 运行?

java - 如何使用 Ganymed SSH-2 启用完整日志记录

java - 尽管已配对,BluetoothAdapter.getBondedDevices 返回零个设备,为什么?

java - jar 内的类未被识别

ssl - 在 jboss 4.2 中配置 SSL 时出错?

java - jboss 与 JMXConnectorServer 的问题