Reputation: 11
I am trying to use Coherence server (separate from my client to store session data) for my weblogic server (client). I'm getting the error like
weblogic.application.ModuleException: No storage-enabled nodes exist for service DistributedSessions:com.tangosol.net.RequestPolicyException:No storage-enabled nodes exist for service DistributedSessions
Similar question was asked in past in the forum and i have verified all the threads and not able to find the right solution.
Can someone please help?
1) Config on Coherence Server: Keep tangosol-coherence-override on the Coherence server class path.
2) Sample of xml file:
<?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) Start the coherence Server with command
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> ${COHERENCE_HOME}/../logs/stdlog.log 2>&1 &
4) Output on coherence server startup
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) Starting the Weblogic server
along with other command line argument provide following
-Dtangosol.coherence.session.localstorage=false
so weblogic will store the session data on coherence server and not the local weblogic heap.
6) Kept the same tangosol-coherence-override.xml file on weblogic class path
7) Able to start the weblogic server
8) When deploying the webapplication I can see weblogic client has joined the cluster but deployment fails
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
But deployment fails with
weblogic.application.ModuleException: No storage-enabled nodes exist for service DistributedSessions:com.tangosol.net.RequestPolicyException:No storage-enabled nodes exist for service DistributedSessions
On weblogic server i have installed coherence-web-spi.war as library and also specificy lib-ref in weblogic.xml
I'm not sure what I am missing.
Upvotes: 1
Views: 1500
Reputation: 344
In your configuration file you have to insert all address of your architecture: weblogic server (datastorage=false) and the 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>
Upvotes: 0