[英]WildFly Infinispan put get not working propertly
WildFly 10.0.0決賽
Infinispan 8.1.0-最終版
即時通訊與2個節點相同的配置standalone-full-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堆棧和我自己的緩存正確配置Jgroups
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.