java - WildFly Infinispan 无法正常工作
问题描述
WildFly 10.0.0-final
Infinispan 8.1.0-Final
我正在使用 2 个节点相同的配置独立-完整-ha
/subsystem=infinispan/cache-container=infinispan_cache:add( aliases=["infinispan_cache-alias"], default-cache=default_cache, start=LAZY)
/subsystem=infinispan/cache-container=infinispan_cache/transport=TRANSPORT/:add(lock-timeout=60000, stack=tcp)
/subsystem=infinispan/cache-container=infinispan_cache/replicated-cache=default_cache:add(mode=ASYNC)
我以这种方式获取缓存
@Resource(lookup = "java:jboss/infinispan/cache/infinispan_cache/default_cache")
private org.infinispan.Cache<String, Object> cache;
我正在使用 putForExternalRead 然后另一个节点知道使用 get 的值,另一方面,一切顺利,但是当我从节点中使用 get 巫婆放置值时,返回 null。
cache.putForExternalRead("hola","Hola prueba");
Object o = cache.get("hola");//This o is null
解决方案
解决方案是在批处理 SYNC 事务下使用 TCP 堆栈和我自己的缓存正确配置 Jgroup
<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
...
<cache-container name="my_infinispan_cache" aliases="my_infinispan_cache-alias" default-cache="default_cache">
<transport lock-timeout="60000"/>
<replicated-cache name="default_cache" mode="SYNC">
<locking isolation="READ_COMMITTED"/>
<transaction locking="OPTIMISTIC" mode="BATCH"/>
<eviction strategy="NONE" max-entries="-1"/>
<expiration lifespan="-1" max-idle="-1"/>
</replicated-cache>
</cache-container>
</subsystem>
...
<subsystem xmlns="urn:jboss:domain:jgroups:4.0">
<channels default="ee">
<channel name="ee" stack="tcp"/>
</channels>
<stacks>
<stack name="udp">
...
</stack>
<stack name="tcp">
<transport type="TCP" socket-binding="jgroups-tcp"/>
<protocol type="MPING" socket-binding="jgroups-mping"/>
<protocol type="MERGE3"/>
<protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
<protocol type="FD"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="pbcast.NAKACK2"/>
<protocol type="UNICAST3"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="MFC"/>
<protocol type="FRAG2"/>
</stack>
</stacks>
</subsystem>
推荐阅读
- orocommerce - 我需要添加一个 js 文件才能操作 html
- python - 在 zappa deploy 中指定库版本
- arrays - 即使使用正确的分隔符,strtok 也不能正确分割空格
- javascript - 单击事件侦听器未在测试站点中触发,而是在 stackoverflow 代码段中触发
- r - 带有操作按钮的 RShiny 客户端输入数据 - 错误消息/问题
- javascript - 可折叠 div 下推下一行 div
- javascript - 如何访问从 Sequelize Node.js 返回的嵌套对象
- mongodb - 如何使用 mongodb 聚合对具有相同键的对象进行分组
- php - 如何检查此 php 数组中所需的数据
- bash - 同时运行文件的所有行