Monitor Coherence *Extend clients

Hello,
Does anyone know if there's a way to monitor the clients that connect to *Extend proxy nodes? I was under the impression that all you had to do was
a) implement MemberListener and define the interface's methods
b) add a new XML <member-listener> element under the <proxy-scheme>
I've followed these steps but none of the listener methods ever get invoked. any ideas?
Thanks!

Hi Ioannis,
In case this is also of use... you can also have extend clients attach a MemberListener. This node leavign / left methods will be called back if the TCP connection is lost.
By default passive extend clients, i.e. those that are event driven, tend to take a long time to detect a connection has been lost. This is because TCP timeouts are around the 5 minute mark, depending on OS. If you want to detect failure quicker its worth either tweaking the OS level keep-alives or configuring client (and server) heartbeats on the proxies.
E.g.
Client side:
<pre>
<caching-schemes>
<remote-cache-scheme>
<scheme-name>blah</scheme-name>
<service-name>blah</service-name>
<initiator-config>
<tcp-initiator>
</tcp-initiator>
<outgoing-message-handler>
<heartbeat-interval>5s</heartbeat-interval>
<heartbeat-timeout>5s</heartbeat-timeout>
</outgoing-message-handler>
</initiator-config>
</remote-cache-scheme>
</caching-schemes>
</pre>
Server side:
<pre>
<proxy-scheme>
<scheme-name>blah</scheme-name>
<service-name>blah</service-name>
<acceptor-config>
<tcp-acceptor>
</tcp-acceptor>
<outgoing-message-handler>
<heartbeat-interval>5s</heartbeat-interval>
<heartbeat-timeout>4s</heartbeat-timeout>
</outgoing-message-handler>
</acceptor-config>
</proxy-scheme>
</pre>
Hope this helps,
Andy

Similar Messages

  • Set user defined UUID for coherence extend clients

    I notice in Coherence 3.5.2 there are improved jmx stats for tcp extend clients.
    Right now I see a client is identified in jmx with a cryptic UUID. Is it possible for the tcp extend client to set its own UUID or alike, so one can more easily identify a client.

    Currently, Coherence does not support connection naming.

  • Coherence*Extend remote-addresses

    We're trying to use multiple addresses for our Coherence*Extend clients to provide load-balancing and redundancy. To accomplish this, we've configured our clients with multiple socket-address entries:
    <remote-addresses>
    <socket-address>
    <address>proxyHost1</address>
    <port>9099</port>
    </socket-address>
    <socket-address>
    <address>proxyHost2</address>
    <port>9099</port>
    </socket-address>
    <socket-address>
    <address>proxyHost3</address>
    <port>9099</port>
    </socket-address>
    </remote-addresses>
    This works fine for failure situations, however, in our testing it appears that the client will connect to the nodes in a round-robin method starting with the last defined host. So, with the above configuration every client will connect to proxyHost3, and only connect to proxyHost2 if host3's connection failed. We could maintain a separate configuration file across all of our nodes shuffling the order, however this could be problematic and would not be preferred.
    Is there a better way to effectively distribute the client connections across our pool of proxies?
    Thanks,
    -Allen

    Hi Allen,
    The Coherence*Extend TCP/IP client randomizes the list of socket addresses before attempting the initial connect, so I'm not sure why you always see your clients connect to the last address in the list. I ran a quick test using both the Java and .NET client, but could not reproduce what you are seeing. Are you sure that the proxyHostX host names resolve to different IP addresses on the test client machine?
    Regards,
    Jason

  • Coherence Extend & JMS

    Hi,
    I was trying to get a Coherence Extend client to talk to a proxy via JMS. I can see both client and proxy connect to the queue, but the client throws a timeout exception. I am including the stack trace. This is using version 3.4.rc3.
    I have 3 questions.
    1) I do not see much referencing JMS. Is this something i should be using?
    2) What are the pro's/con's to using JMS? The biggest pro i see is that i can have multiple proxies listen on the same queue. This would seem to simplify my Extend configuration. Any performance impact with JMS?
    3) What would cause the timeout? Any clue?
    2008-09-16 15:24:35.010 Oracle Coherence GE 3.4/403 Release Candidate 3 <D5> (thread=ExtendJmsCacheService:JmsInitiator, member=n/a): Started: JmsInitiator{Name=ExtendJmsCacheService:JmsInitiator, State=(SERVICE_STARTED), ThreadCount=0, Codec=Codec(Format=POF), PingInterval=0, PingTimeout=5000, RequestTimeout=5000, ConnectTimeout=10000, QueueConnectionFactoryName=cn=BIGBOYJMS,cn=ibmjms, QueueName=cn=PREFERENCES.DEV.1,cn=ibmjms, MessageExpiration=0, MessagePriority=1, MessageDeliveryMode=NON_PERSISTENT}
    2008-09-16 15:24:35.075 Oracle Coherence GE 3.4/403 Release Candidate 3 <Info> (thread=main, member=n/a): Connected to queue://BIGBOYJMS/AMQ.48CAD39620002202?persistence=1
    Exception in thread "main" com.tangosol.net.RequestTimeoutException: request timed out after 5000 millis
    at com.tangosol.coherence.component.net.extend.message.Request$Status.waitForResponse(Request.CDB:58)
    at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:20)
    at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:1)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.openConnection(Peer.CDB:15)
    at com.tangosol.coherence.component.net.extend.Connection.open(Connection.CDB:5)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Initiator.ensureConnection(Initiator.CDB:12)
    at com.tangosol.coherence.component.net.extend.remoteService.RemoteCacheService.openChannel(RemoteCacheService.CDB:5)
    at com.tangosol.coherence.component.net.extend.RemoteService.doStart(RemoteService.CDB:11)
    at com.tangosol.coherence.component.net.extend.RemoteService.start(RemoteService.CDB:5)
    at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:28)
    at com.tangosol.coherence.component.util.safeService.SafeCacheService.startService(SafeCacheService.CDB:5)
    at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:27)
    at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:14)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:841)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:763)
    at com.tangosol.net.DefaultCacheServer.start(DefaultCacheServer.java:140)
    at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:61)
    2008-09-16 15:24:40.078 Oracle Coherence GE 3.4/403 Release Candidate 3 <Error> (thread=main, member=n/a): Error while starting service "ExtendJmsCacheService": com.tangosol.net.RequestTimeoutException: request timed out after 5000 millis
    at com.tangosol.coherence.component.net.extend.message.Request$Status.waitForResponse(Request.CDB:58)
    at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:20)
    at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:1)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.openConnection(Peer.CDB:15)
    at com.tangosol.coherence.component.net.extend.Connection.open(Connection.CDB:5)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Initiator.ensureConnection(Initiator.CDB:12)
    at com.tangosol.coherence.component.net.extend.remoteService.RemoteCacheService.openChannel(RemoteCacheService.CDB:5)
    at com.tangosol.coherence.component.net.extend.RemoteService.doStart(RemoteService.CDB:11)
    at com.tangosol.coherence.component.net.extend.RemoteService.start(RemoteService.CDB:5)
    at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:28)
    at com.tangosol.coherence.component.util.safeService.SafeCacheService.startService(SafeCacheService.CDB:5)
    at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:27)
    at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:14)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:841)
    at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:763)
    at com.tangosol.net.DefaultCacheServer.start(DefaultCacheServer.java:140)
    at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:61)
    thanx
    kevin

    Hi Kevin,
    Please file a MetaLink issue that includes detailed information about your JMS provider (vendor, version, configuration, etc.).
    In the meantime, I'd suggest taking a look at Coherence*Extend-TCP. In general, it is faster, more scalable, and much lighter weight than the JMS binding:
    http://wiki.tangosol.com/display/COH34UG/Configuring+and+Using+Coherence+Extend#ConfiguringandUsingCoherenceExtend-ConfiguringandUsingCoherenceExtendTCP
    Regards,
    Jason

  • WorkManager with Extend client

    Hi,
    I was wondering whether we can use WorkManager via Coherence Extend clients ?
    Thanks.
    -ali

    Hi,
    I was wondering whether we can use WorkManager via Coherence Extend clients ?
    Thanks.
    -ali

  • Coherence Extend Config:   Client  create a new Cluster

    Hi,
    I have configured one storage-enabled coherence node and one proxy server on port 9099 as shown in the wiki. Coherence client is configured with the right -Dtangosol.coherence.cacheconfig which points to the xml file with
    +     +<remote-cache-scheme>++
    ++               <scheme-name>extend-dist</scheme-name>++
    ++               <service-name>ExtendTcpCacheService</service-name>++
    ++               <initiator-config>++
    ++                    <tcp-initiator>++
    ++                         <remote-addresses>++
    ++                              <socket-address>++
    ++                                   <address>Proxy_IP</address>++
    ++                                   <port>9099</port>++
    ++                              </socket-address>++
    ++                         </remote-addresses>++
    ++                         <connect-timeout>10s</connect-timeout>++
    ++                    </tcp-initiator>++
    ++                    <outgoing-message-handler>++
    ++                         <heartbeat-interval>5s</heartbeat-interval>++
    ++                         <heartbeat-timeout>4s</heartbeat-timeout>++
    ++                         <request-timeout>50s</request-timeout>++
    ++                    </outgoing-message-handler>++
    ++               </initiator-config>++
    ++          </remote-cache-scheme>++
    My Client logs shows that it has created a new cluster and then it loaded the Dtangosol.coherence.cacheconfig xml file. Is there a way to prevent my client starting a new cluster? Is configuration incorrect? Any help will be greatly appreciated :)
    Client Log:
    ======
    2011-02-10 04:39:37.599/0.599 Oracle Coherence 3.6.0.1 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/usr/share/java/coherence-3.6.0.1.jar!/tangosol-coherence.xml"
    2011-02-10 04:39:37.606/0.606 Oracle Coherence 3.6.0.1 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/usr/share/java/coherence-3.6.0.1.jar!/tangosol-coherence-override-dev.xml"
    2011-02-10 04:39:37.606/0.606 Oracle Coherence 3.6.0.1 <D5> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
    2011-02-10 04:39:37.615/0.615 Oracle Coherence 3.6.0.1 <D5> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
    Oracle Coherence Version 3.6.0.1 Build 17846
    Grid Edition: Development mode
    Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
    2011-02-10 04:39:38.112/1.112 Oracle Coherence GE 3.6.0.1 <D4> (thread=main, member=n/a): TCMP bound to /172.23.73.236:8088 using SystemSocketProvider
    2011-02-10 04:39:38.432/1.432 Oracle Coherence GE 3.6.0.1 <Info> (thread=Cluster, member=n/a): This Member(Id=3, Timestamp=2011-02-10 04:39:38.236, Address=172.23.73.236:8088, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:5631, Role=ApacheCommonsDaemonDaemonLoader, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4) joined cluster "*cluster:0xC4DB" with senior Member(Id=2, Timestamp=2011-02-10* 04:33:09.003, Address=172.23.73.236:8090, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:4193, Role=ApacheCommonsDaemonDaemonLoader, Edition=Grid Edition, Mode=Development, CpuCount=4, SocketCount=4)
    2011-02-10 04:39:38.439/1.439 Oracle Coherence GE 3.6.0.1 <D5> (thread=Cluster, member=n/a): Member 2 joined Service Cluster with senior member 2
    2011-02-10 04:39:38.440/1.440 Oracle Coherence GE 3.6.0.1 <D5> (thread=Cluster, member=n/a): Member 2 joined Service Management with senior member 2
    2011-02-10 04:39:38.440/1.440 Oracle Coherence GE 3.6.0.1 <D5> (thread=Cluster, member=n/a): Member 2 joined Service DistributedCache with senior member 2
    2011-02-10 04:39:38.442/1.442 Oracle Coherence GE 3.6.0.1 <Info> (thread=main, member=n/a): Started cluster Name=cluster:0xC4DB
    Group{Address=224.3.6.0, Port=36000, TTL=4}
    MasterMemberSet
    ThisMember=Member(Id=3, Timestamp=2011-02-10 04:39:38.236, Address=172.23.73.236:8088, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:5631, Role=ApacheCommonsDaemonDaemonLoader)
    OldestMember=Member(Id=2, Timestamp=2011-02-10 04:33:09.003, Address=172.23.73.236:8090, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:4193, Role=ApacheCommonsDaemonDaemonLoader)
    ActualMemberSet=MemberSet(Size=2, BitSetCount=2
    Member(Id=2, Timestamp=2011-02-10 04:33:09.003, Address=172.23.73.236:8090, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:4193, Role=ApacheCommonsDaemonDaemonLoader)
    Member(Id=3, Timestamp=2011-02-10 04:39:38.236, Address=172.23.73.236:8088, MachineId=62188, Location=site:lss.emc.com,machine:lglor236,process:5631, Role=ApacheCommonsDaemonDaemonLoader)
    RecycleMillis=1200000
    RecycleSet=MemberSet(Size=0, BitSetCount=0
    TcpRing{Connections=[2]}
    IpMonitor{AddressListSize=0}
    2011-02-10 04:39:38.477/1.477 Oracle Coherence GE 3.6.0.1 <D5> (thread=Invocation:Management, member=3): Service Management joined the cluster with senior service member 2
    Feb 10, 2011 4:39:38 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@257b40fe: display name [org.springframework.context.support.ClassPathXmlApplicationContext@257b40fe]; startup date [Thu Feb 10 04:39:38 EST 2011]; root of context hierarchy
    Feb 10, 2011 4:39:38 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    INFO: Loading XML bean definitions from class path resource [configurationRestApplicationContext.xml]
    Feb 10, 2011 4:39:38 AM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@257b40fe]: org.springframework.beans.factory.support.DefaultListableBeanFactory@4bd27069
    Feb 10, 2011 4:39:38 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4bd27069: defining beans [component,server,router,srmconfigurationsresource,srmconfigurationtyperesource,srmconfigurationresource,coherenceStatusResource,configurationMapRepository,configurationOVFFileLoader,defaultConfigurationLoader,feedpagingLinkHandler,adminConfigTransformer,configurationMapQueryHandler,fileUploadResource,postProcessorImpl]; root of factory hierarchy
    [Fatal Error] :-1:-1: Premature end of file.
    [Fatal Error] :-1:-1: Premature end of file.
    *2011-02-10 04:39:39.332/2.332 Oracle Coherence GE 3.6.0.1 <Info> (thread=main, member=3): Loaded cache configuration from "file:/etc/sysconfig/proxy_node.xml"*
    2011-02-10 04:39:39.504/2.504 Oracle Coherence GE 3.6.0.1 <D5> (thread=DistributedCache, member=3): Service DistributedCache joined the cluster with senior service member 2
    Also I have verified that my storage enabled node and proxy node have formed a cluster...
    The client has been started with -Dtangosol.coherence.cacheconfig=/etc/sysconfig/proxy_node.xml
    Thanks & Regards,
    Sandeep

    Hi,
    Used -Dtangosol.coherence.tcmp.enabled=false to disable TCMP mode... ( Phew... :) )
    In my client code we have the following statements...
    *==> Service service = CacheFactory.getService("DistributedCache");*
    *          Set<Member> storeEnabledSet = ((DistributedCacheService) service)*
    *                    .getStorageEnabledMembers();*
    *==> CacheFactory.ensureCluster();*
    Does this needs to be changed for an Extend Client configuration?
    With my current setup I am getting exceptions ...
    2011-02-13 22:36:59.075/111.151 Oracle Coherence GE 3.6.0.1 <Error> (thread=main, member=n/a): Error while starting cluster: java.lang.UnsupportedOperationException: TCMP clustering has been disabled*; this configuration may only access clustered services via Extend proxies.*
    at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:42)
    at com.tangosol.coherence.component.net.Cluster.start(Cluster.CDB:11)
    at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.CDB:3)
    at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.CDB:7)
    at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.CDB:26)
    at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.CDB:2)
    at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:998)
    at com.emc.srm.admin.config.rest.RestApplicationLauncher.waitForCacheServer(RestApplicationLauncher.java:155)
    at com.emc.srm.admin.config.rest.RestApplicationLauncher.main(RestApplicationLauncher.java:108)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.emc.srm.common.daemon.SrmDaemon.start(SrmDaemon.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:219)
    Any ideas on how to fix this?
    Regards,
    Sandeep
    ===========================
    Client configuration:
    <cache-mapping>
                   <cache-name>ConfigurationMapRepository</cache-name>
                   <scheme-name>extend-dist</scheme-name>
    </cache-mapping>
         <caching-schemes>
              <near-scheme>
                   <scheme-name>extend-near</scheme-name>
                   <front-scheme>
                        <local-scheme>
                             <high-units>1000</high-units>
                        </local-scheme>
                   </front-scheme>
                   <back-scheme>
                        <remote-cache-scheme>
                             <scheme-ref>extend-dist</scheme-ref>
                        </remote-cache-scheme>
                   </back-scheme>
                   <invalidation-strategy>all</invalidation-strategy>
              </near-scheme>
              <!-- Event Repository cache scheme definition START -->
              <remote-cache-scheme>
                   <scheme-name>extend-dist</scheme-name>
                   <service-name>DistributedCache</service-name>
                   <initiator-config>
                        <tcp-initiator>
                             <remote-addresses>
                                  <socket-address>
                                       <address>X.X.X.X</address>
                                       <port>9099</port>
                                  </socket-address>
                             </remote-addresses>
                             <connect-timeout>10s</connect-timeout>
                        </tcp-initiator>
                        <outgoing-message-handler>
                             <heartbeat-interval>5s</heartbeat-interval>
                             <heartbeat-timeout>4s</heartbeat-timeout>
                             <request-timeout>50s</request-timeout>
                        </outgoing-message-handler>
                   </initiator-config>
              </remote-cache-scheme>
    </caching-schemes>

  • Accessing Coherence Extend* Proxy Deployoed on Weblogic Coherence Cluster from Java Client

    Hi,
    I am trying to access Extend Proxy through Thick Java Client
    Followed steps as per below links and deployed a GAR on 3 Server ( 2 Storage Enabled Coherence Cluster and 1 Coherence Storage Disabled Extend Proxy Enabled). I could see ExtendProxyService using JMX and can see Port running on the System.
    Ref :
    Setting Up Coherence*Extend - 12c (12.1.2)
    http://docs.oracle.com/middleware/1212/coherence/COHAG/deploy_options.htm#CHDJBJDI
    Issue :
    When I tried to Execute Java Client to Connect to Proxy Server it Connects to Port and then Disconnects with ConnectionException as below.
    Observer below Lines in Box is show he Connected Socket with Port 9099 which is Extend Proxy Port
    Error Message
    2013-11-08 14:55:55.114/1.202 Oracle Coherence GE 12.1.2.0.0 <D5> (thread=TcpClientRemoteService:TcpInitiator, member=n/a): Started: TcpInitiator{Name=TcpClientRemoteService:TcpInitiator, State=(SERVICE_STARTED), ThreadCount=0, Codec=Codec(Format=POF), Serializer=com.tangosol.io.DefaultSerializer, PingInterval=0, PingTimeout=30000, RequestTimeout=30000, ConnectTimeout=10000, SocketProvider=[email protected], RemoteAddresses=WrapperSocketAddressProvider{Providers=[[DTC37446E9C6CBD/127.0.0.0:9099]]}, SocketOptions{LingerTimeout=0, KeepAliveEnabled=true, TcpDelayEnabled=false}}
    2013-11-08 14:55:55.146/1.234 Oracle Coherence GE 12.1.2.0.0 <D5> (thread=main, member=n/a): Connecting Socket to 127.0.0.0:9099
    2013-11-08 14:55:55.146/1.234 Oracle Coherence GE 12.1.2.0.0 <Info> (thread=main, member=n/a): Connected Socket to 127.0.0.0:9099
    2013-11-08 14:55:55.161/1.249 Oracle Coherence GE 12.1.2.0.0 <Info> (thread=main, member=n/a): Error establishing a connection with 127.0.0.0:9099: com.tangosol.net.messaging.ConnectionException: TcpConnection(Id=null, Open=true, LocalAddress=0.0.0.0:54384, RemoteAddress=127.0.0.0:9099)
    2013-11-08 14:55:55.161/1.249 Oracle Coherence GE 12.1.2.0.0 <Error> (thread=main, member=n/a): Error while starting service "TcpClientRemoteService": com.tangosol.net.messaging.ConnectionException: could not establish a connection to one of the following addresses: [127.0.0.0:9099]; make sure the "remote-addresses" configuration element contains an address and port of a running TcpAcceptor
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator.openConnection(TcpInitiator.CDB:121)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Initiator.ensureConnection(Initiator.CDB:11)
        at com.tangosol.coherence.component.net.extend.remoteService.RemoteCacheService.openChannel(RemoteCacheService.CDB:7)
        at com.tangosol.coherence.component.net.extend.RemoteService.doStart(RemoteService.CDB:11)
        at com.tangosol.coherence.component.net.extend.RemoteService.start(RemoteService.CDB:5)
        at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:53)
        at com.tangosol.coherence.component.util.safeService.SafeCacheService.startService(SafeCacheService.CDB:5)
        at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:27)
        at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:14)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.startService(ExtensibleConfigurableCacheFactory.java:681)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:599)
        at com.tangosol.coherence.config.scheme.AbstractCachingScheme.realizeCache(AbstractCachingScheme.java:50)
        at com.tangosol.coherence.config.scheme.AbstractBundlingScheme.realizeCache(AbstractBundlingScheme.java:31)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureCache(ExtensibleConfigurableCacheFactory.java:254)
        at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:205)
        at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:182)

    If this proxy design (not starting up due to a invalid entry in "authroized-hosts") is on-purpose from Coherence Engineers - then it should be re-visited.
    I think the PROXY Server should just log a message stating about the invalid DNS entry for the Authorized-host and continue with the startup...Failing to start completely doesn;t make sense since one cannot rely completely on DNS to
    say everything should be correct before a server start.
    Ofcourse you can overcome by writing your own Custom Filter - but the issue pop's out as with any custom filter(s) is maintaining them along the road (with all minor/major coherence upgrades).
    Also - this "Authorized-Hosts" concept should be carefully analyzed particularly for the following issues...
    (1) if the client IP is changed in the DNS server - will the proxy-server allow the new Client connection without any issues? when will the PROXY server flush its CLIENT DNS entries or what is the TTL time-limit for a CLIENT cached through Authorized-hosts by the PROXY-SERVER?
    (2) Suppose, we have a CLIENT in the "Authroized-Hosts" making a valid connection to the PROXY and putting some cache into the SERVER CACHE through the PROXY....now if the IP-address (DNS being the same) of the CLIENT is changed - can the CLIENT can GET the CACHE it just PUT into the SERVER without any ERRORS?
    (3) How often we need to re-start PROXIES? Do we need to re-start them often for the DNS issues (if any) mentioned above?
    Looks like the Limited documentation & examples for Coherence*Extend - particularly for .NET & C++ clients & *Extend Proxies is a point of concern.
    vk

  • Java extend client outside coherence grid or Java client inside grid ?

    Hello,
    I'm quite new with Coherence and I'm wondering the best option to connect a JAVA client that will communicate with coherence cluster during few seconds.
    Around 30 clients may connect at the same time.
    Cluster stores around 4Gb of data.
    I consider 2 options:
    1) make the JAVA client as a member of the grid. Some partitions will be transfered to it.
    2) have a proxy node in the grid and make JAVA client as an extend client.
    What'd be the pros and cons of these 2 options ?, shoud I consider other options ?
    Thank you for your advices, David

    If your Java client is only going to live for a few seconds then make it an Extend client not a cluster member. Short lived processes should not be cluster members as the continualy join/leave cycle will destablise the rest of the cluster.
    If your client was going to be long lived then you could make it a storage disabled cluster member.
    JK

  • Can C++ Client use Coherence*Extend on AIX?

    Hi Experts,
    My application is a C++ client, I want to connect to Coherence Cluster using Coherence*Extend on AIX,
    I checked coherence document, I found that Coherence*Extend C++ support pure C++. But I couldn't
    find the download URL of Coherence*Extend C++ for AIX, So If C++ Client can use Coherence*Extend
    on AIX?If yes, how can I get the lib for Coherence*Extend C++ of AIX? Thanks.

    Supported environments are listed here:
    http://docs.oracle.com/cd/E24290_01/coh.371/e22839/gs_install.htm#BABDCDFG
    That does not currently include AIX; the platforms supported largely reflect the platforms that customers requested over time, so speak with your Oracle account representative.
    In the meantime, I would suggest looking at the RESTful support in Coherence that will allow you to access the caches from AIX (over REST/HTTP) without an Extend client.
    Peace,
    Cameron Purdy | Oracle

  • Handling of IdentityAsserter's SecurityException on extend client

    Coherence 3.7.1.7
    I have a custom implementation of com.tangosol.net.security.IdentityAsserter for authorization of extend clients.
    It looks something like this:
        public Subject assertIdentity(Object credentials, Service service) throws SecurityException {
            if (!userNameValid(credentials) {
                throw new SecurityException("Username is not valid");
            if (!passwordValid(credentials) {
                throw new SecurityException("Password is not valid");
           return subject;
    If I throw any SecurityException with any error message in IndenityAsserter I get the same error on extend client:
    2014-10-17 18:27:41.655/29.828 Oracle Coherence GE 3.7.1.7 <D5>: Connecting Socket to 10.75.82.176:8200
    2014-10-17 18:27:41.702/29.875 Oracle Coherence GE 3.7.1.7 <Info>: Connected Socket to 10.75.82.176:8200
    2014-10-17 18:27:45.108/33.281 Oracle Coherence GE 3.7.1.7 <D5>: Redirecting Socket to 10.75.82.182:8201
    2014-10-17 18:27:45.155/33.328 Oracle Coherence GE 3.7.1.7 <Info>: Connected Socket to 10.75.82.182:8201
    2014-10-17 18:27:46.217/34.390 Oracle Coherence GE 3.7.1.7 <Info>: Error establishing a connection with 10.75.82.182:8201: com.tangosol.net.messaging.ConnectionException: connection rejected
    2014-10-17 18:27:47.389/35.562 Oracle Coherence GE 3.7.1.7 <D5>: Redirecting Socket to 10.75.82.158:8201
    2014-10-17 18:27:47.436/35.609 Oracle Coherence GE 3.7.1.7 <Info>: Connected Socket to 10.75.82.158:8201
    2014-10-17 18:27:48.499/36.672 Oracle Coherence GE 3.7.1.7 <Info>: Error establishing a connection with 10.75.82.158:8201: com.tangosol.net.messaging.ConnectionException: connection rejected
    2014-10-17 18:27:48.499/36.672 Oracle Coherence GE 3.7.1.7 <D5>: Redirecting Socket to 10.75.82.176:8200
    2014-10-17 18:27:48.545/36.718 Oracle Coherence GE 3.7.1.7 <Info>: Connected Socket to 10.75.82.176:8200
    2014-10-17 18:27:49.639/37.812 Oracle Coherence GE 3.7.1.7 <Info>: Error establishing a connection with 10.75.82.176:8200: com.tangosol.net.messaging.ConnectionException: connection rejected
    2014-10-17 18:27:49.639/37.812 Oracle Coherence GE 3.7.1.7 <Error>: Error while starting service "ExtendTcpService": com.tangosol.net.messaging.ConnectionException: could not establish a connection to one of the following addresses: [10.75.82.176:8200, 10.75.82.182:8201, 10.75.82.138:8200, 10.75.82.158:8201, 10.75.82.176:8200]; make sure the "remote-addresses" configuration element contains an address and port of a running TcpAcceptor
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.initiator.TcpInitiator.openConnection(TcpInitiator.CDB:120)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.peer.Initiator.ensureConnection(Initiator.CDB:11)
      at com.tangosol.coherence.component.net.extend.remoteService.RemoteCacheService.openChannel(RemoteCacheService.CDB:5)
      at com.tangosol.coherence.component.net.extend.RemoteService.doStart(RemoteService.CDB:11)
      at com.tangosol.coherence.component.net.extend.RemoteService.start(RemoteService.CDB:5)
      at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:39)
      at com.tangosol.coherence.component.util.safeService.SafeCacheService.startService(SafeCacheService.CDB:5)
      at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:27)
      at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:14)
      at com.tangosol.net.DefaultConfigurableCacheFactory.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1105)
      at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:937)
      at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:919)
      at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1296)
      at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:297)
      at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:204)
      at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:181)
    It's impossible to determine the real reason why connection was rejected from this exception. Is it because username was incorrect? Or password? Or any other credentials? Or maybe coherence cluster is indeed down? I would like to handle each of such situations differently.
    My question: is it possible to intercept and handle exceptions thrown in IdentityAsserter on client side?

    Hi<br><br>
              <p>
              I'm using version 9.2.0.0 with the following patches:
              <ul>
              <li>CR286749</li>
              <li>CR277158</li>
              <li>CR307754</li>
              <li>CR295248</li>
              <li>CR304536</li>
              </ul>
              </p>
              <p>
              It is possible to grant access to the user to the jndi node (e.g. weblogic.jms.connection), so he will be able to perform this operation over whole subtree, but this is not very neat and, what is more important, he will have access to the jndi objects, that he shold not.
              </p>
              <p>
              In fact I have decided to grant this user full access to the jndi tree, but gave limited access at the JMS level and no access to other resources (like EJB, JDBC, etc). This seems to work well.
              </p>
              regards<br>
              <br>Lukas<br>
              <br>WLS 9.2

  • Coherence Extend C++

    We are running a 36 node storage cluster with 9 proxies. The application written in C++ starts to get timeouts from Coherence extend which we have set to 5s around 30 minutes into heavy put load. At this point it will fall over as it continues to fall behind. The problem came about when we updated from 3.7.1.0 -> 3.7.1.7. Is there any known issue with the current release which would trigger this behavior?
    I have also noticed at some points the client will appear to stop functioning and we will no longer get timeouts.
    I can provide configuration as needed.

    I've not heard of any issues in this area.
    We run C++ extend clients on 3.7.1.4, (not .7), and have no issues, (upgrading from 3.7.1.0), so any issue must have been introduced after 3.7.1.4.
    We're in the process of upgrading to 3.7.1.7 (soon to be .8) so will watch this issue and also feed back on any thing we find.
    Have you changed anything else at the same time? Have you run a network test recently?

  • Coherence *Extend-TCP configuration not working

    Hi,
         I was trying to setup the Coherence *Extend-TCP configuration on my solaris box.
         To start with, i'm trying to start a Cache server instance by using the cluster-side configuration XML (given at URL below)
         http://wiki.tangosol.com/display/COH32UG/Configuring+and+Using+Coherence*Extend
         But while starting its throwing me the below error. The Coherence version that i'm using is 3.2/353. Please advise.
         Exception in thread "main" java.lang.IllegalArgumentException: The "Proxy" element is missing a required acceptor configuration element
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.ProxyService.configure(ProxyService.CDB:30)
         at com.tangosol.coherence.component.util.SafeService.startService(SafeService.CDB:5)
         at com.tangosol.coherence.component.util.SafeService.getRunningService(SafeService.CDB:26)
         at com.tangosol.coherence.component.util.SafeService.ensureRunningService(SafeService.CDB:1)
         at com.tangosol.coherence.component.util.SafeService.start(SafeService.CDB:9)
         at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:775)
         at com.tangosol.net.DefaultCacheServer.start(DefaultCacheServer.java:138)
         at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:60)
         regards
         Mike

    Sorry,
         I noticed that the above error occurs for version 3.1.1 (& not for 3.2) as previously
         specified in previous message (above). My apologies.
         As a follow-up, i've now installed 3.2 jars on my environment & i noticed that the
         above error doesnt occur for this version. The cache server seems to be coming
         up fine now (with the appropriate TCP/IP configuration tag in the xml).
         But when i try to run my client application (which attempts to connect to this
         remote cache server), it throws an InvocationTargetException error (full exception
         below).
         The error indicates that i'm missing some elements in the XML configuration.
         Exception
         (Wrapped) java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.tangosol.net.extend.AdapterFactory.ensureCacheServiceAdapter(AdapterFactory.java:69)
              at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:729)
              at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:650)
              at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:831)
              at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:284)
              at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:622)
              at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:600)
              at com.tangosol.examples.explore.SimpleCacheClient.main(SimpleCacheClient.java:25)
         Caused by: java.lang.IllegalArgumentException: Missing required initiator child configuration element: <extend-cache-scheme tier='front'>
         <scheme-name>extend-direct</scheme-name>
         <service-name>ExtendTcpCacheService</service-name>
         <initiator-config tier='front'>
         <tcp-initiator>
         <remote-addresses>
         <socket-address>
         <address>gpblnx1d.nam.nsroot.net</address>
         <port>32000</port>
         </socket-address>
         </remote-addresses>
         <connect-timeout>10s</connect-timeout>
         <request-timeout>5s</request-timeout>
         </tcp-initiator>
         </initiator-config>
         </extend-cache-scheme>
              at com.tangosol.coherence.extend.component.comm.Adapter.getInitiatorElement(Adapter.CDB:13)
              at com.tangosol.coherence.extend.component.comm.adapter.CacheServiceStub.configure(CacheServiceStub.CDB:5)
              at com.tangosol.coherence.extend.component.application.library.generic.CoherenceExtend.createCacheServiceStub(CoherenceExtend.CDB:4)
              at com.tangosol.coherence.extend.component.application.library.generic.CoherenceExtend.ensureCacheServiceStub(CoherenceExtend.CDB:15)

  • Coherence-Extend and Continuous Query performance

    Hi,
    I am trying to evaluate the performance impact of continous queries, when using coherence extend (TCP). The idea is that desktop clients will be running continuous queries against a cluster, and other processes will be updating the data in that cluster. The clients themselves take a purely read-only view of the data.
    In my tests, I find that the updater process takes about 250ms to update 5000 values in the cache (using a putAll operation). When I have a continuous query running against a remote cache, linked with coherence extend, the update time increases to about 1500ms. This is not CPU bound.
    Is this what people would expect?
    If so this raises questions to me about:
    1) slow subscribers - what if one of my clients is very badly behaved? Can I detect this and/or take action?
    2) conflation of updates - can Coherence do conflation?
    3) can I get control to send object deltas over the wire rather than entire objects?
    Is this a use case for which CoherenceExtend and continuous queries were designed?
    Robert

    Yes, it is certainly possible, although depending on your requirements it may be more or less additional coding. You have a few choices. For example, since you have a CQC on the cache, you could conceivably aggregate locally (on any event). In other words, since all the data are local, there is no need to do the parallel aggregation (unless it is CPU limited). Depending on the aggregation, you may only have to recalculate part of it.
    You can access the internal data structure (Map) within the CQC as follows:
    Map map = cqc.getInternalCache();
    // now we can do aggregation
    NamedCache cache = new WrapperNamedCache(map);
    cache.aggregate(..);More complex approaches would only recalculate portions based on the event, or (depending on the function) might use the event to adjust the aggregated results.
    Peace,
    Cameron Purdy | Oracle Coherence
    http://coherence.oracle.com/

  • Coherence Extends and Local Cache

    I am triying to use coherence extends to do some work with cache,
    with a local cache is that possible i keep getting null pointer exception,
    like if the data is not being stored in the cache.
         <cache-mapping>
              <cache-name>local-pds2-*</cache-name>
              <scheme-name>local-cache</scheme-name>
         </cache-mapping>
         <local-scheme>
              <scheme-name>local-cache</scheme-name>
                   <eviction-policy>LRU</eviction-policy>
                   <high-units>32000</high-units>
                   <low-units>10</low-units>
                   <unit-calculator>FIXED</unit-calculator>
                   <expiry-delay>10ms</expiry-delay>
                   <flush-delay>1000ms</flush-delay>
         </local-scheme>
    is there something wrong in my configuration?

    this is the config y use for the client
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
    <caching-scheme-mapping>
         <cache-mapping>
              <cache-name>local-pds2-*</cache-name>
              <scheme-name>local-cache</scheme-name>
         </cache-mapping>
    <cache-mapping>
    <cache-name>dist-pds2-*</cache-name>
    <scheme-name>extend-dist</scheme-name>
    </cache-mapping>
    </caching-scheme-mapping>
    <caching-schemes>
         <local-scheme>
              <scheme-name>local-cache</scheme-name>
                   <eviction-policy>LRU</eviction-policy>
                   <high-units>32000</high-units>
                   <low-units>10</low-units>
                   <unit-calculator>FIXED</unit-calculator>
                   <expiry-delay>10ms</expiry-delay>
                   <flush-delay>1000ms</flush-delay>
         </local-scheme>
    <remote-cache-scheme>
    <scheme-name>extend-dist</scheme-name>
    <service-name>ExtendTcpCacheService</service-name>
    <initiator-config>
    <tcp-initiator>
    <remote-addresses>
    <socket-address>
    <address>172.16.2.229</address>
    <address>localhost</address>
    <port>5354</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-cache-scheme>
    </caching-schemes>
    </cache-config>
    and this for the server
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
         <defaults>
              <serializer system-property="tangosol.coherence.serializer"/>
              <socket-provider system-property="tangosol.coherence.socketprovider"/>
         </defaults>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>dist-pds2-*</cache-name>
                   <scheme-name>dist-default</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <cache-mapping>
              <cache-name>dist-*</cache-name>
              <scheme-name>distributed</scheme-name>
              <init-params>
                   <init-param>
                        <param-name>back-size-limit</param-name>
                        <param-value>8MB</param-value>
                   </init-param>
              </init-params>
         </cache-mapping>
         <distributed-scheme>
              <scheme-name>distributed</scheme-name>
              <service-name>DistributedCache</service-name>
              <backing-map-scheme>
                   <local-scheme>
                        <scheme-ref>binary-backing-map</scheme-ref>
                   </local-scheme>
              </backing-map-scheme>
              <autostart>true</autostart>
         </distributed-scheme>
         <local-scheme>
              <scheme-name>binary-backing-map</scheme-name>
              <eviction-policy>HYBRID</eviction-policy>
              <high-units>{back-size-limit 0}</high-units>
              <unit-calculator>BINARY</unit-calculator>
              <expiry-delay>{back-expiry 1h}</expiry-delay>
              <flush-delay>1m</flush-delay>
              <cachestore-scheme></cachestore-scheme>
         </local-scheme>
         <caching-schemes>
              <distributed-scheme>
                   <scheme-name>dist-default</scheme-name>
                   <backing-map-scheme>
                        <local-scheme/>
                   </backing-map-scheme>
                   <autostart>true</autostart>
              </distributed-scheme>
              <proxy-scheme>
                   <service-name>ExtendTcpProxyService</service-name>
                   <acceptor-config>
                        <tcp-acceptor>
                             <local-address>
                                  <address >localhost</address>
                                  <port >5354</port>
                             </local-address>
                        </tcp-acceptor>
                   </acceptor-config>
                   <proxy-config>
                        <cache-service-proxy>
                             <enabled>true</enabled>
                        </cache-service-proxy>
                        <invocation-service-proxy>
                             <enabled>true</enabled>
                        </invocation-service-proxy>
                   </proxy-config>
                   <autostart >true</autostart>
              </proxy-scheme>
         </caching-schemes>
    </cache-config>

  • Coherence Clustered Client Server Configuration

    Hi,
    I am trying to create a client-server setup in coherence and I have been able to do that successfully using Coherence Extend in a single client - single server environment. However, what I need to do is that, I need to create a cluster of servers and my client should be able to pick the data from any of the clustered servers. Can someone tell me how to configure that.
    Right now my server-config xml looks like : -
    <cache-config>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>dist-MYCache</cache-name>
                   <scheme-name>MY-distributed-cache-scheme</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <caching-schemes>
              <!--
    Distributed caching scheme.
    -->
              <distributed-scheme>
                   <scheme-name>MY-distributed-cache-scheme</scheme-name>
                   <lease-granularity>member</lease-granularity>
                   <backing-map-scheme>
                        <local-scheme/>
                   </backing-map-scheme>
                   <autostart>true</autostart>
              </distributed-scheme>
              <proxy-scheme>
                   <service-name>ExtendTcpProxyService</service-name>
                   <thread-count>5</thread-count>
                   <acceptor-config>
                        <tcp-acceptor>
                             <local-address>
                                  <address>server1.domain.com</address>
                                  <port>8081</port>
                             </local-address>
                        </tcp-acceptor>
                   </acceptor-config>
                   <autostart>true</autostart>
              </proxy-scheme>
         </caching-schemes>
    </cache-config>
    My Client-config xml looks like :-
    <cache-config>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>dist-MYCache</cache-name>
                   <scheme-name>extend-MYCache</scheme-name>
              </cache-mapping>
              <cache-mapping>
                   <cache-name>dist-extend-MYdist</cache-name>
                   <scheme-name>extend-MYdist</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <caching-schemes>
              <!--
    Distributed caching scheme.
    -->
              <distributed-scheme>
                   <scheme-name>extend-MYdist</scheme-name>
                   <service-name>MYDistributedCache</service-name>
                   <local-storage>false</local-storage>
                   <local-scheme></local-scheme>
                   <back-scheme>
                        <remote-cache-scheme>
                             <scheme-ref>extend-MYCache</scheme-ref>
                        </remote-cache-scheme>
                   </back-scheme>
              </distributed-scheme>
              <remote-cache-scheme>
                   <scheme-name>extend-MYCache</scheme-name>
                   <service-name>ExtendTcpCacheService</service-name>
                   <initiator-config>
                        <tcp-initiator>
                             <remote-addresses>
                                  <socket-address>
                                       <address>client.domain.com</address>
                                       <port>8081</port>
                                  </socket-address>
                             </remote-addresses>
                             <connect-timeout>5s</connect-timeout>
                        </tcp-initiator>
                        <outgoing-message-handler>
                             <request-timeout>2s</request-timeout>
                        </outgoing-message-handler>
                   </initiator-config>
              </remote-cache-scheme>
         </caching-schemes>
    </cache-config>
    And my tangosol-override xml (SAME FOR CLIENT AND SERVER) looks like :-
    <coherence>
         <cluster-config>
              <member-identity>
                   <cluster-name>MYUATCluster</cluster-name>
              </member-identity>
              <unicast-listener>
                   <well-known-addresses>
                        <socket-address id="1">
                             <address>server1.domain.com</address>
                             <port>8088</port>
                             <port-auto-adjust>true</port-auto-adjust>
                        </socket-address>
                        <socket-address id="2">
                             <address>server2.domain.com</address>
                             <port>8088</port>
                             <port-auto-adjust>true</port-auto-adjust>
                        </socket-address>          
                   </well-known-addresses>
              </unicast-listener>
              <multicast-listener>
                   <time-to-live system-property="tangosol.coherence.ttl">4</time-to-live>
                   <join-timeout-milliseconds>3000</join-timeout-milliseconds>
              </multicast-listener>
              <packet-publisher>
                   <packet-delivery>
                        <timeout-milliseconds>30000</timeout-milliseconds>
                   </packet-delivery>
              </packet-publisher>
              <service-guardian>
                   <timeout-milliseconds system-property="tangosol.coherence.guard.timeout">35000
                   </timeout-milliseconds>
              </service-guardian>
         </cluster-config>
         <logging-config>
              <severity-level system-property="tangosol.coherence.log.level">5</severity-level>
              <character-limit system-property="tangosol.coherence.log.limit">0</character-limit>
         </logging-config>
    </coherence>

    I am not sure I understand you correctly, so let me re-phrase my question :
    Right now my client-config.xml has :
    <remote-cache-scheme>
    <scheme-name>extend-MYCache</scheme-name>
    <service-name>ExtendTcpCacheService</service-name>
    <initiator-config>
    <tcp-initiator>
    <remote-addresses>
    <socket-address>
    *<address>server.domain.com</address>*
    <port>8081</port>
    </socket-address>
    </remote-addresses>
    <connect-timeout>5s</connect-timeout>
    </tcp-initiator>
    <outgoing-message-handler>
    <request-timeout>2s</request-timeout>
    </outgoing-message-handler>
    </initiator-config>
    </remote-cache-scheme>
    where server.domain.com is one of the servers of the cluster, so I will face a problem when this server goes down but the cluster is still up and running. Because this client can only contact server.domain.com. What do I need to change so that every time it looks for the cluster and not a specific server.
    Edited by: user1945969 on Sep 10, 2009 10:05 AM

Maybe you are looking for

  • How to Clear plant level Stock in SAP-EHS_Waste management

    Hi Experts, I implemented business practices 855 and 938 in a sandbox environment and a part of the waste processing is not clear for me. How do clear the waste from my plant in MM? The best practice asks to create a purchase order, to validate it an

  • N91 is not switching ON

    hi.. to alll..... I dnt know how it happened but it is very surprising for me.... 2 hrs before i checked my phone it was working... i put it on my bed and after that it switched OFF.... n from then i ws trwying to ON the phone but its not working....

  • Problem with uninstall application in my n78

    Hi All, This is my second problem after installed Nokia PC Suite. a few days ago i've installed Vista and another few themes into my n78 through Nokia PC Suite. When i go to menu Application manager -> Installed apps,,, i don't see vista themes insid

  • How to recover an incoming call that has being deleted?

    I need to recover an incomming call that I have deleted from my iPhone. How do I do that?

  • Software crash... Having to do with memory?

    Hey guys I have a 1.33 g 12in power book. It came with 256 mh of memory so I put in a third party 1g stick. Since than I'v been experencing random crashes. I had dealt with the problem because the crashes weren't that big of a deal. But I recently re