Skip to Main Content

General Development Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

How to connect Java client to Remote Oracle Coherence Cluster

User_A3J2WMar 11 2022 — edited Mar 11 2022

I'm using coherence cluster as remote cache servers (run with Weblogic 12.2.1.3.0) and trying connect from Java application as clients. But I faced error exception while try to connect to Coherence Cluster with cause : 

Caused by: com.tangosol.net.messaging.ConnectionException: could not establish a connection to one of the following addresses: [10.165.17.23:7574]

Here is my code :
Server side
Custom cache config custom-cache-config.xml:

<?xml version="1.0"?>
<cache-config>
    <caching-scheme-mapping>
        <cache-mapping>
            <cache-name>mycache</cache-name>
            <scheme-name>mycache</scheme-name>
        </cache-mapping>
    </caching-scheme-mapping>
    <caching-schemes>
        <distributed-scheme>
            <scheme-name>mycache</scheme-name>
            <service-name>mycacheService</service-name>
            <autostart>true</autostart>
            <backing-map-scheme>
                <read-write-backing-map-scheme>
                    <internal-cache-scheme>
                        <local-scheme>
                <expiry-delay>10d</expiry-delay>
                <flush-delay>1d</flush-delay>
            </local-scheme>
                    </internal-cache-scheme>
                    <read-only>false</read-only>
                </read-write-backing-map-scheme>
                <autostart>true</autostart>
            </backing-map-scheme>
        </distributed-scheme>
    <proxy-scheme>
        <service-name>ExtendTcpCacheService</service-name>
        <autostart>true</autostart>
    </proxy-scheme>
    </caching-schemes>
    <tcp-acceptor>
       <local-address>
          <address>10.165.17.23</address>
          <port>7574</port>
       </local-address>
    </tcp-acceptor>
</cache-config>

Run Servers Cache by :

java -Dtangosol.coherence.cacheconfig=custom-cache-config.xml -Dtangosol.coherence.cluster=mycache -Dtangosol.coherence.clusteraddress=10.165.17.23 -Dtangosol.coherence.clusterport=7574  -Dtangosol.coherence.extend.enabled=true -jar ../lib/coherence.jar

Server logs :

2022-03-11 13:50:01.110/0.325 Oracle Coherence 12.2.1.3.17 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/data01/install/fmw/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2022-03-11 13:50:01.141/0.355 Oracle Coherence 12.2.1.3.17 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/data01/install/fmw/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2022-03-11 13:50:01.141/0.356 Oracle Coherence 12.2.1.3.17 <Info> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2022-03-11 13:50:01.143/0.358 Oracle Coherence 12.2.1.3.17 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-config.xml" is not specified
2022-03-11 13:50:01.143/0.358 Oracle Coherence 12.2.1.3.17 <Info> (thread=main, member=n/a): Optional configuration override "cache-factory-builder-config.xml" is not specified
2022-03-11 13:50:01.144/0.358 Oracle Coherence 12.2.1.3.17 <Info> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified

Oracle Coherence Version 12.2.1.3.17 Build 89350
 Grid Edition: Development mode
Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

2022-03-11 13:50:01.237/0.451 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=n/a): Loaded cache configuration from "file:/data01/install/fmw/coherence/bin/custom-cache-config.xml"; this document does not refer to any schema definition and has not been validated.
2022-03-11 13:50:01.452/0.667 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=n/a): Created cache factory com.tangosol.net.ExtensibleConfigurableCacheFactory
2022-03-11 13:50:01.712/0.927 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=n/a): TCMP bound to /10.165.17.23:33457 using SystemDatagramSocketProvider
2022-03-11 13:50:02.792/2.007 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=NameServiceBridge:TcpInitiator, member=n/a): Loaded POF configuration from "jar:file:/data01/install/fmw/coherence/lib/coherence.jar!/coherence-pof-config.xml"
2022-03-11 13:50:05.965/5.179 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=NameService:TcpAcceptor, member=n/a): TcpAcceptor now listening for connections on testingCoherence101652523:33457.3
2022-03-11 13:50:05.968/5.182 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=Cluster, member=n/a): Created a new cluster "mycache" with Member(Id=1, Timestamp=2022-03-11 13:50:01.733, Address=10.165.17.23:33457, MachineId=39228, Location=process:3784, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=12, SocketCount=3)
2022-03-11 13:50:05.988/5.202 Oracle Coherence GE 12.2.1.3.17 <D5> (thread=Transport:TransportService, member=n/a): Service TransportService is bound to tmb://10.165.17.23:33457.58346
2022-03-11 13:50:05.995/5.210 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=Transport:TransportService, member=n/a): Service TransportService joined the cluster with senior service member 1
2022-03-11 13:50:05.997/5.211 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=n/a): Started cluster Name=mycache, ClusterPort=7574

Group{Address=10.165.17.23, TTL=4}

MasterMemberSet(
  ThisMember=Member(Id=1, Timestamp=2022-03-11 13:50:01.733, Address=10.165.17.23:33457, MachineId=39228, Location=process:3784, Role=CoherenceServer)
  OldestMember=Member(Id=1, Timestamp=2022-03-11 13:50:01.733, Address=10.165.17.23:33457, MachineId=39228, Location=process:3784, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=1
    Member(Id=1, Timestamp=2022-03-11 13:50:01.733, Address=10.165.17.23:33457, MachineId=39228, Location=process:3784, Role=CoherenceServer)
    )
  MemberId|ServiceJoined|MemberState|Version
    1|2022-03-11 13:50:01.733|JOINED|12.2.1.3.17
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=0
    )
  )

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

2022-03-11 13:50:06.007/5.221 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
2022-03-11 13:50:06.043/5.257 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=1): Loaded Reporter configuration from "jar:file:/data01/install/fmw/coherence/lib/coherence.jar!/reports/report-group.xml"
2022-03-11 13:50:06.066/5.280 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=1): JMXConnectorServer now listening for connections on testingCoherence101652523:35163
2022-03-11 13:50:06.074/5.288 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=1): Loaded Reporter configuration from "jar:file:/data01/install/fmw/coherence/lib/coherence.jar!/reports/report-group.xml"
2022-03-11 13:50:06.228/5.443 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=DistributedCache:mycacheService, member=1): Service mycacheService joined the cluster with senior service member 1
2022-03-11 13:50:06.240/5.455 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=DistributedCache:mycacheService, member=1): Service mycacheService: sending PartitionConfig ConfigSync to all
2022-03-11 13:50:06.255/5.469 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=DistributedCache:mycacheService, member=1): This member has become the distribution coordinator for MemberSet(Size=1
  Member(Id=1, Timestamp=2022-03-11 13:50:01.733, Address=10.165.17.23:33457, MachineId=39228, Location=process:3784, Role=CoherenceServer)
  )
2022-03-11 13:50:06.268/5.482 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=Proxy:ExtendTcpCacheService:TcpAcceptor, member=1): TcpAcceptor now listening for connections on testingCoherence101652523:33457.52436
2022-03-11 13:50:06.274/5.488 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=Proxy:ExtendTcpCacheService, member=1): Service ExtendTcpCacheService joined the cluster with senior service member 1
2022-03-11 13:50:06.276/5.490 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=main, member=1): 
Services
  (
  ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, OldestMemberId=1}
  TransportService{Name=TransportService, State=(SERVICE_STARTED), Id=1, OldestMemberId=1}
  InvocationService{Name=Management, State=(SERVICE_STARTED), Id=2, OldestMemberId=1}
  PartitionedCache{Name=mycacheService, State=(SERVICE_STARTED), Id=3, OldestMemberId=1, LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0, CoordinatorId=1}
  ProxyService{Name=ExtendTcpCacheService, State=(SERVICE_STARTED), Id=4, OldestMemberId=1}
  )

Started DefaultCacheServer...

2022-03-11 13:50:06.282/5.497 Oracle Coherence GE 12.2.1.3.17 <Info> (thread=DistributedCache:myCacheService, member=1): Partition ownership has stabilized with 1 nodes

2 . Client Side
cache config coherence-cache-config.xml

<?xml version="1.0"?>

<!DOCTYPE cache-config SYSTEM "cache-config.dtd">

<cache-config>
    <caching-scheme-mapping>
        <cache-mapping>
            <cache-name>*</cache-name>
            <scheme-name>mycache</scheme-name>
        </cache-mapping>
    </caching-scheme-mapping>
    <caching-schemes>
        <!--
        Default-Replicated caching scheme.
        -->
        <remote-cache-scheme>
            <scheme-name>mycache</scheme-name>
            <service-name>mycacheService</service-name>
            <initiator-config>
                <tcp-initiator>
                    <remote-addresses>
                        <socket-address>
                            <address>10.165.17.23</address>
                            <port>7574</port>
                            <reusable>true</reusable>
                        </socket-address>
                    </remote-addresses>
                    <connect-timeout>10s</connect-timeout>
                </tcp-initiator>
                <outgoing-message-handler>
                    <request-timeout>20s</request-timeout>
                </outgoing-message-handler>
            </initiator-config>
        </remote-cache-scheme>
        <remote-invocation-scheme>
            <scheme-name>extend-invocation</scheme-name>
            <service-name>ExtendTcpInvocationService</service-name>
            <initiator-config>
                <tcp-initiator>
                    <remote-addresses>
                        <socket-address>
                            <address>10.165.17.23</address>
                            <port>7574</port>
                        </socket-address>
                    </remote-addresses>
                    <connect-timeout>10s</connect-timeout>
                </tcp-initiator>
                <outgoing-message-handler>
                    <request-timeout>5s</request-timeout>
                </outgoing-message-handler>
            </initiator-config>
        </remote-invocation-scheme>
        <class-scheme>
            <scheme-name>default-backing-map</scheme-name>
            <class-name>com.tangosol.util.SafeHashMap</class-name>
        </class-scheme>
    </caching-schemes>
</cache-config>

tangosol-coherence-override.xml

<?xml version='1.0'?>
<coherence>
    <cluster-config>
        <member-identity>
            <cluster-name>mycache</cluster-name>
        </member-identity>
        <multicast-listener>
            <address>10.165.17.23</address>
            <port>7574</port>
        </multicast-listener>
    </cluster-config>
    <configurable-cache-factory-config>
        <class-name>com.tangosol.net.DefaultConfigurableCacheFactory
        </class-name>
        <init-params>
            <init-param>
                <param-type>java.lang.String</param-type>
                <param-value>coherence-cache-config.xml</param-value>
            </init-param>
        </init-params>
    </configurable-cache-factory-config>
</coherence>

Arguments when run client:

<arguments>
    <argument>-Dtangosol.coherence.override=${project.basedir}/src/main/resources/tangosol-coherence-override.xml</argument>
    <argument>-Djava.net.preferIPv4Stack=true</argument>
</arguments>

And here is full client error logs :

Caused by: com.tangosol.net.messaging.ConnectionException: could not establish a connection to one of the following addresses: [10.165.17.23:7574]
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator.openConnection(TcpInitiator.CDB:139) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Initiator.ensureConnection(Initiator.CDB:11) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.net.extend.remoteService.RemoteCacheService.openChannel(RemoteCacheService.CDB:7) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.net.extend.RemoteService.ensureChannel(RemoteService.CDB:6) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.net.extend.RemoteService.doStart(RemoteService.CDB:11) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.net.extend.RemoteService.start(RemoteService.CDB:5) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:66) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.safeService.SafeCacheService.startService(SafeCacheService.CDB:5) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:28) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.SafeService.startInternal(SafeService.CDB:14) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.SafeService$StartAction.run(SafeService.CDB:1) ~[coherence.jar:12.2.1.3.17]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_282]
    at javax.security.auth.Subject.doAs(Subject.java:360) ~[na:1.8.0_282]
    at com.tangosol.net.security.DoAsAction.run(DoAsAction.java:42) ~[coherence.jar:12.2.1.3.17]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_282]
    at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:4) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.DefaultConfigurableCacheFactory.startService(DefaultConfigurableCacheFactory.java:1237) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1223) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:1054) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:1036) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1430) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:366) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:296) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:212) ~[coherence.jar:12.2.1.3.17]
    at com.vnpt.coherence.adapter.configurations.CacheConfiguration.getCache(CacheConfiguration.java:20) ~[classes/:na]
    at com.vnpt.coherence.adapter.configurations.CacheConfiguration$$EnhancerBySpringCGLIB$$84145143.CGLIB$getCache$1(<generated>) ~[classes/:na]
    at com.vnpt.coherence.adapter.configurations.CacheConfiguration$$EnhancerBySpringCGLIB$$84145143$$FastClassBySpringCGLIB$$c9ebfb0c.invoke(<generated>) ~[classes/:na]
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.2.8.RELEASE.jar:5.2.8.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
    at com.vnpt.coherence.adapter.configurations.CacheConfiguration$$EnhancerBySpringCGLIB$$84145143.getCache(<generated>) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_282]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_282]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_282]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_282]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
    ... 33 common frames omitted
Caused by: com.tangosol.net.messaging.ConnectionException: TcpConnection(Id=null, Open=true, LocalAddress=::aa9:1bd:55668, RemoteAddress=10.165.17.23:7574)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator$TcpConnection$TcpReader.onNotify(TcpInitiator.CDB:46) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:54) ~[coherence.jar:12.2.1.3.17]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_282]
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[na:1.8.0_282]
    at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_282]
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[na:1.8.0_282]
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265) ~[na:1.8.0_282]
    at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:288) ~[na:1.8.0_282]
    at com.tangosol.util.ExternalizableHelper.readInt(ExternalizableHelper.java:616) ~[coherence.jar:12.2.1.3.17]
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator$TcpConnection$TcpReader.onNotify(TcpInitiator.CDB:15) ~[coherence.jar:12.2.1.3.17]

What is I missing in my code. Thanks for help !!!

Comments
Post Details
Added on Mar 11 2022
0 comments
339 views