【问题标题】:Coherence : weblogic.application.ModuleException: No storage-enabled nodes exist for service DistributedSessions连贯性:weblogic.application.ModuleException:服务分布式会话不存在启用存储的节点
【发布时间】:2017-10-09 15:05:41
【问题描述】:

我正在尝试将 Coherence 服务器(与我的客户端分开来存储会话数据)用于我的 weblogic 服务器(客户端)。我收到类似的错误

weblogic.application.ModuleException: No storage-enabled nodes exist for service DistributedSessions:com.tangosol.net.RequestPolicyException:No storage-enabled nodes exist for service DistributedSessions

以前在论坛上问过类似的问题,我已经验证了所有线程,但无法找到正确的解决方案。

有人可以帮忙吗?

1) Coherence 服务器上的配置:Keep tangosol-coherence-override on the Coherence server class path.

2) xml文件示例:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE coherence SYSTEM "coherence.dtd">
<coherence>
    <cluster-config>
        <member-identity>
            <cluster-name>ClusterName</cluster-name>
        </member-identity>
        <unicast-listener>
            <address system-property='tangosol.coherence.localhost' />
            <port system-property='tangosol.coherence.localport'>18088</port>
            <well-known-addresses>
                <socket-address id='1'>
                    <address>830.8.119.55</address>
                    <port>18088</port>
                </socket-address>               
            </well-known-addresses>
        </unicast-listener>
        <shutdown-listener>
            <enabled system-property='tangosol.coherence.shutdownhook'>none</enabled>
        </shutdown-listener>
        <logging-config>
            <destination system-property='tangosol.coherence.log'>log4j</destination>
        </logging-config>
    </cluster-config>
</coherence>

3) 使用命令启动 coherence Server java -server -Xms1024m -Xmx1024m -cp ${COHERENCE_HOME}/../lib/coherence.jar:${COHERENCE_HOME}/../lib/coherence-web.jar:${COHERENCE_HOME}/../config/ -Dtangosol.coherence.session.localstorage=true com.tangosol.net.DefaultCacheServer 1&gt; ${COHERENCE_HOME}/../logs/stdlog.log 2&gt;&amp;1 &amp;

4) coherence 服务器启动时的输出

2017-10-09 10:20:00.561/1.034 Oracle Coherence GE 3.7.1.16 <Info> **(thread=main, member=n/a): Loaded cache configuration from "jar:file:/home/xy6122/coherence/coherence/lib/coherence.jar!/coherence-cache-config.xml"**
2017-10-09 10:20:01.041/1.514 Oracle Coherence GE 3.7.1.16 <D4> (thread=main, member=n/a): TCMP bound to /830.8.119.55:18088 using SystemSocketProvider
2017-10-09 10:20:04.363/4.836 Oracle Coherence GE 3.7.1.16 <Info> (thread=Cluster, member=n/a): **Created a new cluster "<<ClusterName>>"** with Member(**Id=1, Timestamp=2017-10-09 10:20:01.093, Address=830.8.119.55:18088,** MachineId=65067, Location=site:,machine:zldv6413,process:23334, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=12, SocketCount=6) UID=0x820877370000015F0181BEC5FE2B46A8
2017-10-09 10:20:04.370/4.843 Oracle Coherence GE 3.7.1.16 <Info> (thread=main, member=n/a): Started cluster Name=<<ClusterName>>



MasterMemberSet(
  ThisMember=Member(Id=1, Timestamp=2017-10-09 10:20:01.093, Address=830.8.119.55:18088, MachineId=65067, Location=site:,machine:abcdv6413,process:23334, Role=CoherenceServer)
  OldestMember=Member(Id=1, Timestamp=2017-10-09 10:20:01.093, Address=130.8.119.55:18088, MachineId=65067, Location=site:,machine:zldv6413,process:23334, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=1
    Member(Id=1, Timestamp=2017-10-09 10:20:01.093, Address=130.8.119.55:18088, MachineId=65067, Location=site:,machine:zldv6413,process:23334, Role=CoherenceServer)
    )
  MemberId|ServiceVersion|ServiceJoined|MemberState
    **1|3.7.1|2017-10-09 10:20:04.363|JOINED**
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=0
    )
  )

TcpRing{Connections=[]}
IpMonitor{Addresses=0, Timeout=15s}

2017-10-09 10:20:04.412/4.885 Oracle Coherence GE 3.7.1.16 <D5> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
2017-10-09 10:20:04.681/5.154 Oracle Coherence GE 3.7.1.16 <D5> (thread=DistributedCache, member=1): Service DistributedCache joined the cluster with senior service member 1
2017-10-09 10:20:04.780/5.253 Oracle Coherence GE 3.7.1.16 <D5> (thread=ReplicatedCache, member=1): Service ReplicatedCache joined the cluster with senior service member 1
2017-10-09 10:20:04.795/5.268 Oracle Coherence GE 3.7.1.16 <D5> (thread=OptimisticCache, member=1): Service OptimisticCache joined the cluster with senior service member 1
2017-10-09 10:20:04.803/5.276 Oracle Coherence GE 3.7.1.16 <D5> (thread=Invocation:InvocationService, member=1): Service InvocationService joined the cluster with senior service member 1
2017-10-09 10:20:04.806/5.280 Oracle Coherence GE 3.7.1.16 <Info> (thread=main, member=1): 
Services
  (
  ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.7.1, OldestMemberId=1}
  InvocationService{Name=Management, State=(SERVICE_STARTED), Id=1, Version=3.1, OldestMemberId=1}
  PartitionedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0}
  ReplicatedCache{Name=ReplicatedCache, State=(SERVICE_STARTED), Id=3, Version=3.0, OldestMemberId=1}
  Optimistic{Name=OptimisticCache, State=(SERVICE_STARTED), Id=4, Version=3.0, OldestMemberId=1}
  InvocationService{Name=InvocationService, State=(SERVICE_STARTED), Id=5, Version=3.1, OldestMemberId=1}
  )

**Started DefaultCacheServer...**

5) 启动 Weblogic 服务器 连同其他命令行参数提供以下 -Dtangosol.coherence.session.localstorage=false 所以 weblogic 会将会话数据存储在 coherence 服务器上,而不是本地 weblogic 堆上。

6) 在 weblogic 类路径上保留相同的 tangosol-coherence-override.xml 文件

7) 能够启动weblogic服务器

8) 部署 web 应用程序时,我可以看到 weblogic 客户端已加入集群,但部署失败 2017-10-09 10:30:48.321/648.794 Oracle Coherence GE 3.7.1.16 <D5> (thread=Cluster, member=1): Member(Id=2, Timestamp=2017-10-09 10:30:48.149, Address=830.8.119.55:18090, MachineId=65067, Location=site:,machine:abcdv6413,process:28222, Role=WeblogicServer) joined Cluster with senior member 1 2017-10-09 10:30:48.655/649.128 Oracle Coherence GE 3.7.1.16 <D5> (thread=Cluster, member=1): Member 2 joined Service Management with senior member 1 2017-10-09 10:30:49.077/649.550 Oracle Coherence GE 3.7.1.16 <D5> (thread=Cluster, member=1): Member 2 joined Service DistributedSessions with senior member 2

但是部署失败了

weblogic.application.ModuleException: No storage-enabled nodes exist for service DistributedSessions:com.tangosol.net.RequestPolicyException:No storage-enabled nodes exist for service DistributedSessions

在 weblogic 服务器上,我已将 coherence-web-spi.war 作为库安装,并在 weblogic.xml 中指定了 lib-ref

我不确定我错过了什么。

【问题讨论】:

    标签: weblogic oracle-coherence


    【解决方案1】:

    在您的配置文件中,您必须插入架构的所有地址:weblogic server (datastorage=false) 和 coherence server:

    <well-known-addresses>
        <socket-address id='1'>
            <address>830.8.119.55</address>
            <port>18088</port>
        </socket-address>   
        <socket-address id='2'>
            <address>x.x.x.x</address>
            <port>yyy</port>
        </socket-address>              
    </well-known-addresses>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2014-05-03
      相关资源
      最近更新 更多