Handling collections in coherence cache

hi,
In a mutithreaded environment, how does coherence cache handles collection like HashMap in a multithreaded environment where the large majority of method calls are read-only, instead of structural changes?
Are the read calls non-synchronized by coherence? Is there any mechanism to handle the write calls different from the read calls?
Thanks.
suvasis

Hi Suvasis,
Coherence caches are coherent, and use a minimal (or zero if possible) amount of synchronization for read-access.
Coherence does support double-checked locking for read-heavy access:
<tt>
Object value = cache.get(k);
if (value == null)
  cache.lock(key, -1);
  try
    value = cache.get(key);
    if (value == null)
      value = {something};
      cache.put(key, value);
  finally
    cache.unlock(key);
// read-access to value
Object x = value.getSomeAttribute();
</tt>
It should be noted that Coherence does not "observe" objects outside of the Coherence API calls (get/put/lock/unlock/etc). So once you "get" a local object instance from Coherence, Coherence doesn't pay attention to that local object until you explicitly "put" it the modified object back into the cache.
Jon Purdy
Tangosol, Inc.

Similar Messages

  • Need a help to update coherence cache values in c++

    Hi,
    I need to update coherence cache value of a particular object.
    Managed<ExposureHolderContract>::Handle contract =
    cast<Managed<ExposureHolderContract>::Handle>(cache->get(vsName));
    contract->setName("dsafd");
    When i try to cast to a ManagedObject:: Handle it says
    coherence::lang::ConstCastException: attempt to cast from a "const coherence::lang::Managed<ExposureHolderContract>" to a "coherence::lang::Managed<ExposureHolderContract>"
    at void coherence::lang::coh_throw_const_cast(const std::type_info&, const std::type_info&)(ConstCastException.cpp:27)
    at coherence::lang::coh_throw_const_cast(std::type_info const&, std::type_info const&)
    <stack frame symbol unavailable>
    <stack frame symbol unavailable>
    <stack frame symbol unavailable>
    <stack frame symbol unavailable>
    <stack frame symbol unavailable>
    at __libc_start_main
    on thread "main"
    In the documentation it says in order to call non static methods we need to retrieve the handle.
    but when I try to cast to a handle it fails.
    I'm inserting data to coherence cache by calling Managed::create method. Is this method making immutable object.
    ExposureHolderContract tempEhc(contractId, name, date, age, weight);
    Managed<ExposureHolderContract>::Handle ss = Managed<ExposureHolderContract>::create(tempEhc);
    cache->put(String::create(contractId.c_str()), ss);
    Please help me to update the recorde value.
    regards,
    sura

    Hi Sura,
    It is a matter of safety and correctness. The in-process caches return a locally held object, and thus if you made some change to it, that change would be visible within the in-process cache, while not visible to the remote cache. Thus future access to the in-process cache would see a value which does not actually exist in the remote cache. While it is true that if you modify it with the intent to immediately re-insert it this shrinks the window of incorrectness that window still exists, and of course the cache has no idea if you will ever reinsert the value. As for the effect on performance it should be insignificant if you actually do put it back in the cache as the cost of a cache update will easily be multiple orders of magnitude greater then the cost of the clone. Also remember there is no requirement to clone a value if you don't intend to mutate it, you can safely use it via the View. So the only time the performance cost of the clone could be considered significant is when you intend to mutate but not reinsert the data, but a clone is also necessary there as not cloning it would leave the in-process cache in an inconsistent state with respect to the remote cache.
    Mark
    Oracle Coherence

  • Coherence cache query - distinct

    Hi,
    I am trying to find out how to do a distinct query in coherence cache. For example, if my key object has LastName, FirstName. How do I get the collection of keys of distinct last names? In another words, I am trying to find out what are the distinct Last names in the cache. Is there any filter can be used to do that?
    Thanks.

    Hi,
    You can use DistinctValues aggregator.
    http://download.oracle.com/docs/cd/E14526_01/coh.350/e14977/toc.htm
    Wei
    Edited by: welin on Jun 10, 2010 8:38 AM

  • Spring with coherence cache deploy issue

    hi, i configured spring with coherence cachestore, and i make s a sample example on that, load some value based key, if key not there in cache it automatically callbacks call to cachestore load(Object key) and ge5t value from db and put in cache........this application work in standardlone but if make web application application deploy time this error coming............
    log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    2013-10-10 16:05:09.528/1.279 Oracle Coherence 3.7.1.1 <Info> (thread=main, member=n/a): Loaded operational configuration from "jar:file:/D:/m2repo/org/tangosol/net/coherence/3.7/coherence-3.7.jar!/tangosol-coherence.xml"
    2013-10-10 16:05:09.559/1.310 Oracle Coherence 3.7.1.1 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/D:/m2repo/org/tangosol/net/coherence/3.7/coherence-3.7.jar!/tangosol-coherence-override-dev.xml"
    2013-10-10 16:05:09.591/1.342 Oracle Coherence 3.7.1.1 <Info> (thread=main, member=n/a): Loaded operational overrides from "jar:file:/D:/travererpibeproject/test/cnk-test-caching-web/src/main/webapp/WEB-INF/lib/cnk-common-caching-1.0.0-SNAPSHOT.jar!/tangosol-coherence-override.xml"
    2013-10-10 16:05:09.591/1.342 Oracle Coherence 3.7.1.1 <D5> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
    Oracle Coherence Version 3.7.1.1 Build 28901
    Grid Edition: Development mode
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
    2013-10-10 16:05:09.700/1.451 Oracle Coherence GE 3.7.1.1 <Info> (thread=main, member=n/a): Loaded cache configuration from "jar:file:/D:/travererpibeproject/test/cnk-test-caching-web/src/main/webapp/WEB-INF/lib/cnk-common-caching-1.0.0-SNAPSHOT.jar!/coherence-cache-config.xml"; this document does not refer to any schema definition and has not been validated.
    cache service
    2013-10-10 16:05:10.423/2.174 Oracle Coherence GE 3.7.1.1 <D4> (thread=main, member=n/a): TCMP bound to /10.21.12.29:8088 using SystemSocketProvider
    2013-10-10 16:05:41.297/33.048 Oracle Coherence GE 3.7.1.1 <Info> (thread=Cluster, member=n/a): Created a new cluster "CoherenceCluster" with Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) UID=0x0A150C1D00000141A1EF3564729A1F98
    2013-10-10 16:05:41.297/33.048 Oracle Coherence GE 3.7.1.1 <Info> (thread=main, member=n/a): Started cluster Name=CoherenceCluster
    Group{Address=231.1.1.1, Port=7777, TTL=3}
    MasterMemberSet(
      ThisMember=Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner)
      OldestMember=Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner)
      ActualMemberSet=MemberSet(Size=1
        Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner)
      MemberId|ServiceVersion|ServiceJoined|MemberState
        1|3.7.1|2013-10-10 16:05:41.297|JOINED
      RecycleMillis=1200000
      RecycleSet=MemberSet(Size=0
    TcpRing{Connections=[]}
    IpMonitor{AddressListSize=0}
    2013-10-10 16:05:41.329/33.080 Oracle Coherence GE 3.7.1.1 <D5> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
    2013-10-10 16:05:41.548/33.299 Oracle Coherence GE 3.7.1.1 <D5> (thread=DistributedCache, member=1): Service DistributedCache joined the cluster with senior service member 1
    2013-10-10 16:10:16.093/307.844 Oracle Coherence GE 3.7.1.1 <Error> (thread=Cluster, member=1): Detected soft timeout) of {WrapperGuardable Guard{Daemon=DistributedCache} Service=PartitionedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0}}
    2013-10-10 16:10:16.093/307.844 Oracle Coherence GE 3.7.1.1 <Error> (thread=Recovery Thread, member=1): Full Thread Dump
    Thread[Logger@9254847 3.7.1.1,3,main]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Attach Listener,5,system]
    Thread[Signal Dispatcher,9,system]
    Thread[ReaderThread,5,main]
        java.net.SocketInputStream.socketRead0(Native Method)
        java.net.SocketInputStream.read(SocketInputStream.java:150)
        java.net.SocketInputStream.read(SocketInputStream.java:121)
        sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
        sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
        sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
        java.io.InputStreamReader.read(InputStreamReader.java:184)
        java.io.BufferedReader.fill(BufferedReader.java:154)
        java.io.BufferedReader.readLine(BufferedReader.java:317)
        java.io.BufferedReader.readLine(BufferedReader.java:382)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner$ReaderThread.run(RemoteTestRunner.java:140)
    Thread[Invocation:Management:EventDispatcher,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.Service$EventDispatcher.onWait(Service.CDB:7)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Invocation:Management,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.Service.onWait(Service.CDB:4)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onWait(Grid.CDB:3)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketReceiver,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketReceiver.onWait(PacketReceiver.CDB:2)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Cluster|Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner),5,Cluster]
        sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        com.tangosol.coherence.component.net.TcpRing.select(TcpRing.CDB:11)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onWait(ClusterService.CDB:6)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Reference Handler,10,system]
        java.lang.Object.wait(Native Method)
        java.lang.Object.wait(Object.java:503)
        java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
    Thread[DistributedCache,10,Cluster]
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:184)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:237)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        com.cnk.travelerp.common.caching.service.SpringAwareCacheFactory.instantiateAny(SpringAwareCacheFactory.java:161)
        com.tangosol.net.DefaultConfigurableCacheFactory.instantiateCacheStore(DefaultConfigurableCacheFactory.java:3324)
        com.tangosol.net.DefaultConfigurableCacheFactory.instantiateReadWriteBackingMap(DefaultConfigurableCacheFactory.java:1753)
        com.tangosol.net.DefaultConfigurableCacheFactory.configureBackingMap(DefaultConfigurableCacheFactory.java:1500)
        com.tangosol.net.DefaultConfigurableCacheFactory$Manager.instantiateBackingMap(DefaultConfigurableCacheFactory.java:4111)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.instantiateBackingMap(PartitionedCache.CDB:23)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.setCacheName(PartitionedCache.CDB:25)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ServiceConfig$ConfigListener.entryInserted(PartitionedCache.CDB:17)
        com.tangosol.util.MapEvent.dispatch(MapEvent.java:266)
        com.tangosol.util.MapEvent.dispatch(MapEvent.java:226)
        com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:567)
        com.tangosol.util.ObservableHashMap.dispatchEvent(ObservableHashMap.java:229)
        com.tangosol.util.ObservableHashMap$Entry.onAdd(ObservableHashMap.java:270)
        com.tangosol.util.SafeHashMap.put(SafeHashMap.java:244)
        com.tangosol.coherence.component.util.ServiceConfig$Map.put(ServiceConfig.CDB:43)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$StorageIdRequest.onReceived(PartitionedCache.CDB:45)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:34)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[Recovery Thread,5,Cluster]
        java.lang.Thread.dumpThreads(Native Method)
        java.lang.Thread.getAllStackTraces(Thread.java:1618)
        com.tangosol.net.GuardSupport.logStackTraces(GuardSupport.java:810)
        com.tangosol.internal.net.cluster.DefaultServiceFailurePolicy.onGuardableRecovery(DefaultServiceFailurePolicy.java:44)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$WrapperGuardable.recover(Grid.CDB:1)
        com.tangosol.net.GuardSupport$Context$1.run(GuardSupport.java:653)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketListenerN,10,Cluster]
        java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
        java.net.TwoStacksPlainDatagramSocketImpl.receive(TwoStacksPlainDatagramSocketImpl.java:90)
        java.net.DatagramSocket.receive(DatagramSocket.java:786)
        com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
        com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketPublisher,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.onWait(PacketPublisher.CDB:2)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketListener1P,10,Cluster]
        java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
        java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:105)
        java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
        java.net.DatagramSocket.receive(DatagramSocket.java:786)
        com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
        com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[main,5,main]
        java.lang.Object.wait(Native Method)
        java.lang.Object.wait(Object.java:503)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:26)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:11)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.ensureCache(PartitionedCache.CDB:29)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.ensureCache(PartitionedCache.CDB:36)
        com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache$Router(SafeCacheService.CDB:1)
        com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache(SafeCacheService.CDB:33)
        com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:920)
        com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1296)
        com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:297)
        com.tangosol.net.CacheFactory.getCache(CacheFactory.java:204)
        com.tangosol.net.CacheFactory.getCache(CacheFactory.java:181)
        com.cnk.travelerp.common.caching.service.CacheService.<init>(CacheService.java:36)
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
        org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:76)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:943)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735)
        org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
        org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
        org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
        org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:103)
        org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
        org.springframework.test.context.support.DelegatingSmartContextLoader.loadContext(DelegatingSmartContextLoader.java:228)
        org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124)
        org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148)
        org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
        org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
        org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
        org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:290)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
        org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
        org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
        org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
        org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Thread[PacketListener1,10,Cluster]
        java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
        java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:105)
        java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
        java.net.DatagramSocket.receive(DatagramSocket.java:786)
        com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
        com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[IpMonitor,6,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.IpMonitor.onWait(IpMonitor.CDB:4)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketSpeaker,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.queue.ConcurrentQueue.waitForEntry(ConcurrentQueue.CDB:16)
        com.tangosol.coherence.component.util.queue.ConcurrentQueue.remove(ConcurrentQueue.CDB:7)
        com.tangosol.coherence.component.util.Queue.remove(Queue.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketSpeaker.onNotify(PacketSpeaker.CDB:21)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[Finalizer,8,system]
        java.lang.Object.wait(Native Method)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
    2013-10-10 16:10:16.093/307.844 Oracle Coherence GE 3.7.1.1 <Warning> (thread=Recovery Thread, member=1): Attempting recovery of Guard{Daemon=DistributedCache}
    2013-10-10 16:10:46.607/338.358 Oracle Coherence GE 3.7.1.1 <Error> (thread=Cluster, member=1): Detected hard timeout) of {WrapperGuardable Guard{Daemon=DistributedCache} Service=PartitionedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0}}
    2013-10-10 16:10:46.607/338.358 Oracle Coherence GE 3.7.1.1 <Error> (thread=Termination Thread, member=1): Full Thread Dump
    Thread[Logger@9254847 3.7.1.1,3,main]
        java.io.FileOutputStream.writeBytes(Native Method)
        java.io.FileOutputStream.write(FileOutputStream.java:318)
        java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
        java.io.PrintStream.write(PrintStream.java:480)
        sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
        sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
        sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
        java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
        java.io.PrintStream.write(PrintStream.java:527)
        java.io.PrintStream.print(PrintStream.java:669)
        java.io.PrintStream.println(PrintStream.java:806)
        com.tangosol.coherence.component.util.logOutput.Standard.log(Standard.CDB:9)
        com.tangosol.coherence.component.util.logOutput.Standard.log(Standard.CDB:1)
        com.tangosol.coherence.component.util.LogOutput.log(LogOutput.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.Logger.onNotify(Logger.CDB:99)
        com.tangosol.coherence.component.application.console.Coherence$Logger.onNotify(Coherence.CDB:4)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[Attach Listener,5,system]
    Thread[Signal Dispatcher,9,system]
    Thread[ReaderThread,5,main]
        java.net.SocketInputStream.socketRead0(Native Method)
        java.net.SocketInputStream.read(SocketInputStream.java:150)
        java.net.SocketInputStream.read(SocketInputStream.java:121)
        sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
        sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
        sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
        java.io.InputStreamReader.read(InputStreamReader.java:184)
        java.io.BufferedReader.fill(BufferedReader.java:154)
        java.io.BufferedReader.readLine(BufferedReader.java:317)
        java.io.BufferedReader.readLine(BufferedReader.java:382)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner$ReaderThread.run(RemoteTestRunner.java:140)
    Thread[Termination Thread,5,Cluster]
        java.lang.Thread.dumpThreads(Native Method)
        java.lang.Thread.getAllStackTraces(Thread.java:1618)
        com.tangosol.net.GuardSupport.logStackTraces(GuardSupport.java:810)
        com.tangosol.internal.net.cluster.DefaultServiceFailurePolicy.onGuardableTerminate(DefaultServiceFailurePolicy.java:80)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$WrapperGuardable.terminate(Grid.CDB:1)
        com.tangosol.net.GuardSupport$Context$2.run(GuardSupport.java:677)
        java.lang.Thread.run(Thread.java:722)
    Thread[Invocation:Management:EventDispatcher,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.Service$EventDispatcher.onWait(Service.CDB:7)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Invocation:Management,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.Service.onWait(Service.CDB:4)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onWait(Grid.CDB:3)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketReceiver,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketReceiver.onWait(PacketReceiver.CDB:2)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Cluster|Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner),5,Cluster]
        sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
        sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:295)
        sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:277)
        sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:158)
        sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
        sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
        com.tangosol.coherence.component.net.TcpRing.select(TcpRing.CDB:11)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onWait(ClusterService.CDB:6)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[Reference Handler,10,system]
        java.lang.Object.wait(Native Method)
        java.lang.Object.wait(Object.java:503)
        java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
    Thread[DistributedCache,10,Cluster]
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:184)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:237)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        com.cnk.travelerp.common.caching.service.SpringAwareCacheFactory.instantiateAny(SpringAwareCacheFactory.java:161)
        com.tangosol.net.DefaultConfigurableCacheFactory.instantiateCacheStore(DefaultConfigurableCacheFactory.java:3324)
        com.tangosol.net.DefaultConfigurableCacheFactory.instantiateReadWriteBackingMap(DefaultConfigurableCacheFactory.java:1753)
        com.tangosol.net.DefaultConfigurableCacheFactory.configureBackingMap(DefaultConfigurableCacheFactory.java:1500)
        com.tangosol.net.DefaultConfigurableCacheFactory$Manager.instantiateBackingMap(DefaultConfigurableCacheFactory.java:4111)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.instantiateBackingMap(PartitionedCache.CDB:23)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.setCacheName(PartitionedCache.CDB:25)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ServiceConfig$ConfigListener.entryInserted(PartitionedCache.CDB:17)
        com.tangosol.util.MapEvent.dispatch(MapEvent.java:266)
        com.tangosol.util.MapEvent.dispatch(MapEvent.java:226)
        com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:567)
        com.tangosol.util.ObservableHashMap.dispatchEvent(ObservableHashMap.java:229)
        com.tangosol.util.ObservableHashMap$Entry.onAdd(ObservableHashMap.java:270)
        com.tangosol.util.SafeHashMap.put(SafeHashMap.java:244)
        com.tangosol.coherence.component.util.ServiceConfig$Map.put(ServiceConfig.CDB:43)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$StorageIdRequest.onReceived(PartitionedCache.CDB:45)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:34)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketListenerN,10,Cluster]
        java.net.TwoStacksPlainDatagramSocketImpl.receive0(Native Method)
        java.net.TwoStacksPlainDatagramSocketImpl.receive(TwoStacksPlainDatagramSocketImpl.java:90)
        java.net.DatagramSocket.receive(DatagramSocket.java:786)
        com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
        com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketPublisher,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.onWait(PacketPublisher.CDB:2)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketListener1P,10,Cluster]
        java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
        java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:105)
        java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
        java.net.DatagramSocket.receive(DatagramSocket.java:786)
        com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
        com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[main,5,main]
        java.lang.Object.wait(Native Method)
        java.lang.Object.wait(Object.java:503)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:26)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.poll(Grid.CDB:11)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.ensureCache(PartitionedCache.CDB:29)
        com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.ensureCache(PartitionedCache.CDB:36)
        com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache$Router(SafeCacheService.CDB:1)
        com.tangosol.coherence.component.util.safeService.SafeCacheService.ensureCache(SafeCacheService.CDB:33)
        com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:920)
        com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1296)
        com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:297)
        com.tangosol.net.CacheFactory.getCache(CacheFactory.java:204)
        com.tangosol.net.CacheFactory.getCache(CacheFactory.java:181)
        com.cnk.travelerp.common.caching.service.CacheService.<init>(CacheService.java:36)
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
        org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:76)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:943)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735)
        org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
        org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
        org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
        org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:103)
        org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
        org.springframework.test.context.support.DelegatingSmartContextLoader.loadContext(DelegatingSmartContextLoader.java:228)
        org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124)
        org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148)
        org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
        org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
        org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
        org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:290)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
        org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
        org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
        org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
        org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Thread[PacketListener1,10,Cluster]
        java.net.DualStackPlainDatagramSocketImpl.socketReceiveOrPeekData(Native Method)
        java.net.DualStackPlainDatagramSocketImpl.receive0(DualStackPlainDatagramSocketImpl.java:105)
        java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:145)
        java.net.DatagramSocket.receive(DatagramSocket.java:786)
        com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:22)
        com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[IpMonitor,6,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.Daemon.onWait(Daemon.CDB:18)
        com.tangosol.coherence.component.util.daemon.IpMonitor.onWait(IpMonitor.CDB:4)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        java.lang.Thread.run(Thread.java:722)
    Thread[PacketSpeaker,10,Cluster]
        java.lang.Object.wait(Native Method)
        com.tangosol.coherence.component.util.queue.ConcurrentQueue.waitForEntry(ConcurrentQueue.CDB:16)
        com.tangosol.coherence.component.util.queue.ConcurrentQueue.remove(ConcurrentQueue.CDB:7)
        com.tangosol.coherence.component.util.Queue.remove(Queue.CDB:1)
        com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketSpeaker.onNotify(PacketSpeaker.CDB:21)
        com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        java.lang.Thread.run(Thread.java:722)
    Thread[Finalizer,8,system]
        java.lang.Object.wait(Native Method)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
    2013-10-10 16:10:46.607/338.358 Oracle Coherence GE 3.7.1.1 <Warning> (thread=Termination Thread, member=1): Terminating Guard{Daemon=DistributedCache}
    Coherence <Error>: Halting this cluster node due to unrecoverable service failure
    2013-10-10 16:10:47.622/339.373 Oracle Coherence GE 3.7.1.1 <Error> (thread=PacketListener1P, member=1): Stopping cluster due to unhandled exception: com.tangosol.net.messaging.ConnectionException: UdpSocket.receive: unable to reopen socket; State=STATE_CLOSED
        at com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:58)
        at com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        at java.lang.Thread.run(Thread.java:722)
    2013-10-10 16:10:47.622/339.373 Oracle Coherence GE 3.7.1.1 <D5> (thread=Cluster, member=n/a): Unexpected exception java.nio.channels.ClosedChannelException while accepting incoming TcpRing connection; refreshing listener socket
    2013-10-10 16:10:47.622/339.373 Oracle Coherence GE 3.7.1.1 <D5> (thread=Invocation:Management, member=n/a): Service Management left the cluster
    2013-10-10 16:10:47.622/339.373 Oracle Coherence GE 3.7.1.1 <Error> (thread=Cluster, member=n/a): StopRunning ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.7.1} due to unhandled exception:
    2013-10-10 16:10:47.622/339.373 Oracle Coherence GE 3.7.1.1 <Error> (thread=Cluster, member=n/a):
    java.lang.NullPointerException
        at com.tangosol.coherence.component.net.Cluster$ClusterService$TcpRing.onAcceptException(Cluster.CDB:13)
        at com.tangosol.coherence.component.net.TcpRing.onAccept(TcpRing.CDB:25)
        at com.tangosol.coherence.component.net.TcpRing.onSelect(TcpRing.CDB:27)
        at com.tangosol.coherence.component.net.TcpRing.select(TcpRing.CDB:14)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onWait(ClusterService.CDB:6)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39)
        at java.lang.Thread.run(Thread.java:722)
    2013-10-10 16:10:49.636/341.387 Oracle Coherence GE 3.7.1.1 <D5> (thread=Cluster, member=n/a): Service Cluster left the cluster
    2013-10-10 16:10:49.636/341.387 Oracle Coherence GE 3.7.1.1 <Error> (thread=Cluster, member=n/a): StopRunning ClusterService{Name=Cluster, State=(SERVICE_STOPPED, STATE_JOINED), Id=0, Version=3.7.1} due to unhandled exception:
    2013-10-10 16:10:49.636/341.387 Oracle Coherence GE 3.7.1.1 <Error> (thread=Cluster, member=n/a):
    java.nio.channels.ClosedSelectorException
        at sun.nio.ch.SelectorImpl.keys(SelectorImpl.java:69)
        at com.tangosol.coherence.component.net.TcpRing.close(TcpRing.CDB:11)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onExit(ClusterService.CDB:1)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:68)
        at java.lang.Thread.run(Thread.java:722)
    Exception in thread "Cluster|SERVICE_STOPPED|Member(Id=1, Timestamp=2013-10-10 16:05:10.564, Address=10.21.12.29:8088, MachineId=29338, Location=site:,machine:mumcnk-0562,process:2696, Role=EclipseJdtRemoteTestRunner)" java.nio.channels.ClosedSelectorException
        at sun.nio.ch.SelectorImpl.keys(SelectorImpl.java:69)
        at com.tangosol.coherence.component.net.TcpRing.disconnectAll(TcpRing.CDB:6)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService$TcpRing.onLeft(ClusterService.CDB:4)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onStopRunning(ClusterService.CDB:7)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onException(ClusterService.CDB:28)
        at com.tangosol.coherence.component.net.Cluster$ClusterService.onException(Cluster.CDB:7)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:85)
        at java.lang.Thread.run(Thread.java:722)

    Hi,
    Did you check the documentation about how to integrate Coherence with Spring applications? Check it out: Integrating Spring with Coherence
    It seems that you are experiencing a communication problem between your web container and the Coherence cluster. Check if you are able to access simple caches and execute sample put() and get()s. Maybe the problem is not about Spring itself, it could be a communication problem.
    Cheers,
    Ricardo Ferreira

  • How to pre-load Coherence Caches used within an OEP Application

    Hi OEP/Coherence guys,
    I'm currently developing an OEP application that was consuming database inputs in CQL queries.
    I've replaced database direct access by Coherence caches access. My Coherence Local caches use a cache loader to fetch rows (by key) when there is a cache miss. This is working well, and the caches get filled in during the execution of my OEP application.
    The problem is that if CQL queries are made on some attributes (not the key) of not-yet-cached data, the load method of my cache loader is not invoked and there is no result to my CQL query.
    I'm wondering how to pre-load my data in Coherence Caches, from the database, when the OEP application starts to avoid such kind of problems...
    Thx for any advice.
    Renato

    Hi.
    Could you please describe the way to "set-up a cache-loader to load data into your cache when the OEP application starts" ?
    I have a cache-loader configured with my cache. My cache-loader implements the "com.tangosol.net.cache.CacheLoader" interface.
    This interface only defines 2 methods:
    load(java.lang.Object oKey) ==> Return the value associated with the specified key, or null if the key does not have an associated value in the underlying store.
    loadAll(java.util.Collection colKeys) ==> Return the values associated with each the specified keys in the passed collection.
    None of these methods allows me to pre-load my data (and BTW it looks like "loadAll" is never called by OEP)
    Thx
    RP

  • Specifying coherence-cache-config.xml for multiple clusters

    Hi,
    I am running two cache clusters (Cluster A and B that hold different cache types). we have a web application that needs to communicate with both the clusters. we have two coherence-cache-config-g.xml files, one for each cluster.
    where do we specify the two coherence-cache-config.xml for each of these clusters in our coherence.jar that we deploy on the web app server.
    pls provide some inputs...
    thanks in advance,
    - G.

    Hi G,
    You can define a path to the cache configuration descriptor in your operation configuration override file (tangosol-coherence=override.xml) or specify it in the system property "tangosol.coherence.cacheconfig".
    Please see this Wiki page for details:
    http://wiki.tangosol.com/display/COH32UG/configurable-cache-factory-config
    Regards,
    Gene

  • How to specify index for cache in coherence-cache-config.xml

    Hi All,
    We want to apply indexing on cache data.
    Suppose i have a EMPLOYEE object in coherence cache.
    and i want to use employeeID for indexing purpose.
    Can anybody help me to achieve this at Congregational level i.e. using xml file (coherence-cache-config.xml) .
    Edited by: 981644 on Jan 16, 2013 1:51 AM

    Hi,
    I've posted some [url http://coherence.oracle.com/download/attachments/14647422/add-index-namespace.jar]code and the [url http://coherence.oracle.com/download/attachments/14647422/add-index-namespace-src.jar]source. It depends on coherence common version 2.3.0.39174 however I believe it will work with 2.0.0.23649 also. Coherence common library can be downloaded from [url http://coherence.oracle.com/display/INC10/coherence-common]here
    Note: This is purely an example on how to achieve index creation via a cache configuration file and is not a part of the product thus is not covered by product support.
    Here is an example cache configuration that uses the namespace:
    <cache-config xmlns:service="class://com.oracle.coherence.environment.extensible.ServiceOperations">
        <caching-scheme-mapping>
            <service:index-add cache-name="dist-indexes">
                <extractor>
                    <class-name>ReflectionExtractor</class-name>
                    <init-params>
                        <init-param>
                            <param-type>string</param-type>
                            <param-value>getName</param-value>
                        </init-param>
                    </init-params>
                </extractor>
            </service:index-add>
            <!-- Simplified POF Config -->
            <service:index-add cache-name="dist-indexes" pof-enabled="true">
                <pof-index>8,16,32</pof-index>
            </service:index-add>
            <!-- This should not be counted based on system-property override -->
            <service:index-add cache-name="dist-indexes" pof-enabled="true" enabled="{tangosol.index.add}">
                <pof-index>8,16,31</pof-index>
            </service:index-add>
            <!-- Explicit POF Config -->
            <service:index-add cache-name="dist-indexes">
                <extractor>
                    <class-name>PofExtractor</class-name>
                    <init-params>
                        <init-param>
                            <param-type>{class}</param-type>
                            <param-value>null</param-value>
                        </init-param>
                        <init-param>
                            <param-type>{object}</param-type>
                            <param-value>
                                <class-name>com.tangosol.io.pof.reflect.SimplePofPath</class-name>
                                <init-params>
                                    <init-param>
                                        <param-type>{int[]}</param-type>
                                        <param-value>1,2,4</param-value>
                                    </init-param>
                                </init-params>                     
                            </param-value>
                        </init-param>
                    </init-params>
                </extractor>
            </service:index-add>
        </caching-scheme-mapping>
    </cache-config>Thanks,
    Harvey

  • How to share the same coherence cache in two EPN

    hi,all:
    I need to share the same coherence cache in two EPN. to put data into this coherence cache.
    only whe EPN can been deploy ok, the other EPN deploy will get below exception.
    Caused By: java.lang.IllegalStateException: Service "synergy-scheme-service" has been started by the factory with a different configuration descriptor
    at com.tangosol.net.DefaultConfigurableCacheFactory.validateBackingMapManager(DefaultConfigurableCacheFactory.java:1246)
    who can tell me why? or who can give me a example on how to share the same coherence cache in two EPN.
    thanks a lots

    Hi,
    This is because the system detects that you are using different configuration for the cache of the same name(and the domain name). If you want, we can discuss it, my mail is [email protected]
    Thanks
    Junger

  • Looking for some advice on CEP HA and Coherence cache

    We are looking for some advice or recommendation on CEP architecture.
    We need to build a CEP application that conforms to the following:
    • HA with no loss of events or duplicate events when failing over to the backup server.
    • We have some aggregative rules that needs to see all events.
    • Events are XMLs with size of 3KB-50KB. Not all elements are needed for the rules but they are there for other systems that come after the CEP (the customer services).
    • The XML elements that the CEP needs are in varying depth in the XML.
    Running the EPN on a single thread is not fast enough for the required throughput mainly because network latency to the JMS and the heavy task of parsing of the XML. Because of that we are looking for a solution that will read the messages from the JMS in parallel (multi thread) but will keep the same order of events between the Primary and Secondary CEPs.
    One idea that came to our minds is to use Coherence cache in the following way:
    • On the CEP inbound use a distributed queue and not topic (at the CEP outbound it is still topic).
    • On the CEPs side use a Coherence cache that runs on the CEPs JVMs (since we already have a Coherence cluster for HA).
    • Both CEPs read from the queue using multi threading (10 reading threads – total of 20 threads) and putting it to the Coherence cache.
    • The Coherence cache is publishing the events to both CEPs on a single thread.
    The EPN looks something like this:
    JMS adapter (multi threaded) -> replicated cache on both CEPs -> event bean -> HA adapter -> channel -> processor -> ….
    Does this sounds sound to you?
    Are we over shooting here? Is there a simpler solution for our needs?
    Is there a best practice for such requirements?
    Thanks

    Hi,
    Just to make it clear:
    We do not parse the XML on the event bean after the Coherence. We do it on the JMS adapter on multiple threads in order to utilize all the server resources (CPUs) and then we put it in the replicated cache.
    The requirements from our application are:
    - There is an aggregative query that needs to "see" all events (this means that we need to pass all events thru a single processor and we cannot partition them to several processors).
    - Because this is a HA solution the events on both CEPs (primary and secondary) needs to be at the same order when reaching the HA inbound adapter and the processor.
    - A single thread JMS adapter is not reading the messages from the JMS fast enough mainly because it takes time to parse the XML to an event.
    - Using a multi-threaded adapter or many single threaded adapters with message selector will create a situation that the order of events on both CEPs will not be the same at the processor inbound.
    This is why we needed a mediator so we can read in multiple threads that will parse the XMLs in parallel without concerning on order of messages and on the other hand publish all the messages on a single thread to the processors on both CEPs from this shared mediator (we use a replicated cache that runs on both JVMs).
    We use queue instead of topic because if we read the messages from a topic on both CEPs it will be stored twice on the Coherence replicated cache. But if we use a queue, when server 1 read the message and put it in the Coherence replicated cache then server 2 will not read it because it was removed from the queue.
    If I understand correctly you are suggesting replacing the JMS adapter with an event bean that will read the messages from the JMS directly?
    Are you also suggesting that we will not use a replicated cache but instead a stand alone cache on each server? In this case how do we keep the same order of events on both CEPs (on both caches)?

  • Verify whether the session data is kept in the Coherence caches

    I have successfully combined the MapViewer application with WebLogic and Oracle Coherence*Web.
    How to verify whether the session data of MapViewer application is kept in the Coherence caches or not?
    All out put show that both of MapViewer and WebLogic server as well as Coherence are running well.
    All the following steps are right?
    The procedure is as the following:
    1. Create a WebLogic domain: Map_domain.
    2. Start the WebLogic domain Map_domain by running startWebLogic.sh script.
    3. Install Coherence.jar as a library on WebLogic.
    4. Copy the coherence.jar in the WAR's WEB-INF/lib directory.
    5. Create a reference to the shared library by modifying the weblogic.xml in web applications WEB-INF directory
    and add the following contents:
    <weblogic-web-app>
         <library-ref>
              <library-name>coherence-web-spi</library-name>
              <specification-version>1.0.0.0</specification-version>
              <implementation-version>1.0.0.0</implementation-version>
              <exact-match>false</exact-match>
         </library-ref>
    <weblogic-web-app>6. Install Coherence-web-spi.war as a WebLogic library.
    7. Install the MapViewer as a WebLogic application.
    8. Start a Coherence cache server using the cmd file web-cache-server.cmd and then start MapViewer application.
    The content of web-cache-server.cmd file:
    @echo off
    @rem This will start a cache server
    setlocal
    :config
    @rem specify the Coherence installation directory
    set coherence_home=F:\coherence
    @rem specify the JVM heap size
    set memory=256m
    :start
    if not exist "%coherence_home%\lib\coherence.jar" goto instructions
    if "%java_home%"=="" (set java_exec=java) else (set java_exec=%java_home%\bin\java)
    :launch
    set java_opts="-Xms%memory% -Xmx%memory%"
    "%java_exec%" -server -showversion "%java_opts%" -cp %coherence_home%\lib\coherence.jar;
    %coherence_home%\lib\coherence-web-spi.war
    -Dtangosol.coherence.management.remote=true
    -Dtangosol.coherence.cacheconfig=WEB-INF/classes/session-cache-config.xml
    -Dtangosol.coherence.session.localstorage=true
    com.tangosol.net.DefaultCacheServer %1
    goto exit
    :instructions
    echo Usage:
    echo   ^<coherence_home^>\bin\cache-server.cmd
    goto exit
    :exit
    endlocal
    @echo onEdited by: jetq on Jan 13, 2010 9:32 AM

    Any opinions are welcome.

  • Implementing Oracle DCN with Coherence Cache in a weblogic 10 app server

    I m trying to implements a DCN ( Database change notification ) on oracle to notify a listener of an event of DB so I can update Coherence Cache.
    I followed the tutorial here and it is working fine using a sample program with a main method to execute the listener class and keep it running.
    My question is how would this notification and listener gets implemented on a production environment since my local test was only running a main method to keep the listener running? what technology to use to keep the listener always running on the background and receive the notification from the database )?
    would a [weblogic startup class|http://docs.oracle.com/cd/E13222_01/wls/docs81/ConsoleHelp/startup_shutdown.html] work for this purpose?
    We are using Weblogic 10 as our app server.

    That's a very simple question with (many) potentially complex answers. I think that first uou need to study information on TimesTen to understand what it is and what it does. Then you need to relate that to you current performance bottleneck (I assume you have analysed those). If your bottleneck is database access then maybe TimesTen can help you.
    Please bear in mind that TimesTen is not a 'transparent' drop in performance booster. To implement TimesTen and to realise significant performance improvement you will almost certainly need to make changes to both the application and the overall architecture. The cost/difficulty of doing that also needs to be factored in.
    Chris

  • How to Test coherence cache configuration

    Hi,
    I have configured coherence using the below two config xmls, I had started out by trying to configure a distributed cache scheme but I am not sure if it has come up correctly. This configuration works fine from caching point of view, it even does the clustering, but my only doubt here is that how can I test whether it is actually a distributed cache or a replicated cache?
    coherence-cache-config.xml
    <cache-config>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>dist-ABCCache</cache-name>
                   <scheme-name>ABC-distributed-cache-scheme</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <caching-schemes>
              <!--
    Distributed caching scheme.
    -->
              <distributed-scheme>
                   <scheme-name>ABC-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</address>
                                  <port>####</port>
                             </local-address>
                        </tcp-acceptor>
                   </acceptor-config>
                   <autostart>true</autostart>
              </proxy-scheme>
         </caching-schemes>
    </cache-config>
    tangosol-coherence-override.xml
    <coherence>
         <cluster-config>
              <member-identity>
                   <cluster-name>MyCluster</cluster-name>
              </member-identity>
              <unicast-listener>
                   <well-known-addresses>
                        <socket-address id="1">
                             <address>server1</address>
                             <port>####</port>
                             <port-auto-adjust>false</port-auto-adjust>
                        </socket-address>
                        <socket-address id="2">
                             <address>server2</address>
                             <port>####</port>
                             <port-auto-adjust>false</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">9</severity-level>
              <character-limit system-property="tangosol.coherence.log.limit">0</character-limit>
         </logging-config>
    </coherence>

    user1945969 wrote:
    Thanks for your answer but I also wanted to know if there is anyway I can verify that by the data in the cluster? You can start up the [command line application|http://coherence.oracle.com/pages/viewpage.action?pageId=16684] or write a quick class to display the information for that particular cache.
    I mean can check what all data is present in each cluster member?I would suggest taking a look via JMX. In this case, you would want to look at the ServiceMBean, CacheMBean and StorageManagerMBean MBeans (take a look at the Registry for more information).
    Another reason why I am not so confident if this scheme is distributed or not is that, in my config xml I do not have any backing map scheme configured so how is coherence going to do the backups in this case?
    <backing-map-scheme>
         <local-scheme/>
    </backing-map-scheme>You do have a "backing map" configured, it will just use the defaults.
    Coherence always manages the backups automatically, transparently and dynamically for you. When using the partitioned cache (i.e. "distributed-scheme") Coherence will place the backup in a storage enabled node on a separate physical machine as the primary.
    Rob
    :Coherence Team:

  • Verify if the sessision data of MapViewer app is stored in Coherence caches

    I have successfully combined the MapViewer application with WebLogic and Oracle Coherence*Web.
    How to verify whether the session data of MapViewer application is kept in the Coherence caches or not?
    All out put show that both of MapViewer and WebLogic server as well as Coherence are running well.
    All the following steps are right?
    The procedure is as the following:
    1. Create a WebLogic domain: Map_domain.
    2. Start the WebLogic domain Map_domain by running startWebLogic.sh script.
    3. Install Coherence.jar as a library on WebLogic.
    4. Copy the coherence.jar in the WAR's WEB-INF/lib directory.
    5. Create a reference to the shared library by modifying the weblogic.xml in web applications WEB-INF directory
    and add the following contents:
    <weblogic-web-app>
         <library-ref>
              <library-name>coherence-web-spi</library-name>
              <specification-version>1.0.0.0</specification-version>
              <implementation-version>1.0.0.0</implementation-version>
              <exact-match>false</exact-match>
         </library-ref>
    <weblogic-web-app>6. Install Coherence-web-spi.war as a WebLogic library.
    7. Install the MapViewer as a WebLogic application.
    8. Start a Coherence cache server using the cmd file web-cache-server.cmd and then start MapViewer application.
    The content of web-cache-server.cmd file:
    @echo off
    @rem This will start a cache server
    setlocal
    :config
    @rem specify the Coherence installation directory
    set coherence_home=F:\coherence
    @rem specify the JVM heap size
    set memory=256m
    :start
    if not exist "%coherence_home%\lib\coherence.jar" goto instructions
    if "%java_home%"=="" (set java_exec=java) else (set java_exec=%java_home%\bin\java)
    :launch
    set java_opts="-Xms%memory% -Xmx%memory%"
    "%java_exec%" -server -showversion "%java_opts%" -cp %coherence_home%\lib\coherence.jar;
    %coherence_home%\lib\coherence-web-spi.war
    -Dtangosol.coherence.management.remote=true
    -Dtangosol.coherence.cacheconfig=WEB-INF/classes/session-cache-config.xml
    -Dtangosol.coherence.session.localstorage=true
    com.tangosol.net.DefaultCacheServer %1
    goto exit
    :instructions
    echo Usage:
    echo   ^<coherence_home^>\bin\cache-server.cmd
    goto exit
    :exit
    endlocal
    @echo onEdited by: jetq on Jan 12, 2010 9:02 PM

    Any opinions are welcome.

  • Does coherence cache the value from the cache?

    Hi, I have the question about if the coherence caches the value from the cache? I believe it does from my test, just want to get the confirmation.
    I like to use an example to describe my question. For example:
    If (key1, value1) are in the cache1, (value1 is an object),
    for the first time, if cache1.get(key1), coherence will deserialize value1 and return. But if in the same JVM, when cache1.get(key1) is invoked again, coherence will return value1, which I believe is cached by coherence in the current JVM, and return; instead of deserializing and return it. Is that right?
    I am asking this question because I found a problem in our project when use coherence. As the above example, if I use value1 = cache1.get(key1), and in our project, value1 object has a set method to change one of its internal attributes, and this method was indeed invoked after value1 get from cache1. Then in another class, value2 = cache1.get(key1) is called again, and I found out that value2's attribute will have the modified value, even cache1.put(key1, value1) is never invoked in the first place.
    Of course, this kind of behavior matches the java.util.Map. But coherence cache is a cluster/distributed environment. In the above example, if on another data node, value3 = cache1.get(key1) will get the original attribute value in value3, since the deserialize object will always get the original value, unless the new value is put in explicitly by cache1.put(key1, value1).
    In this case, should cache1.get(key1) always return a clone object make more sense?
    Thanks

    You observation is correct. More specifically for cache topologies which include an in-process cache Coherence may return the same object reference for repeated get requests on the same key. I say "may" because for any variety of reasons we may also have to retrieve a fresh copy from a remote cache server. When possible we will return existing objects for performance reasons avoiding costly things like network hops, and de-serialization. Any modifications made to an object returned from the cache will not be made automatically available to other cluster members. Additionally if these modifications are made concurrently with another thread performing a cache.put() on the same value could result in a corrupt cached value if your serialization methods are not thread-safe. Best practice dictates that unless you are sure that you are using a cache topology which does not include an in-process cache that you treat the values returned from the cache as immutable, and instead deep clone() it before making any modifications.
    The distributed-scheme and remote-scheme are the only types of caches which do not include in-process caching, and thus always return "mutation safe" values. The most common in-process cache topology is near-scheme, but others include replicated-scheme, optimistic-scheme, local-scheme, and the programatically created ContinuousQueryCache.
    thanks,
    mark

  • Start a new Coherence cache server

    Hi experts,
    I have an application configured with oracle coherence running on the weblogic server. Can I start a new Coherence cache server from a command prompt so that, this newly created cache server joins the existing cluster already running on the weblogic server. Can you please guide me through this or point to the relevant documentation.
    Thanks for your time.
    Cheers,

    You just need to run...
    java <parameters> -cp <your class path> DefaultCacheServerwhere...
    <parameters> is set to the same set of -D paramters you have given the application inside WebLogic.
    <your class path> is all the jar files in your application, including coherence.jar (but you don't need any ear or web app stuff obviously)
    Presumably you have configured the system properties for your application in WebLogic to set the multicast address (-Dtangosol.coherence.clusteraddress
    and -Dtangosol.coherence.clusterport), cache config (-Dtangosol.coherence.cacheconfig) etc... If you have not then you really should! You basically run DefaultCacheServer with the same parameters.
    When I have used Weblogic and Coherence in the past the usual configurationis to run a number of storage enabled cache server nodes (which is what you are asking about) and then run the WebLogic nodes as storage diabled cluster members. This is much more efficient as it lets the storage enabled node just concentrate on storing data nad the WebLogic node just concentrate on you application.
    JK

Maybe you are looking for

  • DSC classloading issues

    Hi, does anybody have had problems with livecycle caching old version of a class that is in a DSC? The problem I had is when I changed the structure of a class and deploy the dsc, livecycle doesn't pickup the changes in the class, unless I restart li

  • Restoring iPhoto 5 backup to iPhoto 6

    Hello, I made a backup (version 3.0) of my iPhoto 5 library and now i've installed iPhoto 6 and restored my pictures from the 2-dvd backup. However, none of the files show up in iPhoto, but they are on my hard drive in the pictures folder. How can i

  • WPF WebBrowser Control Security Message After Loading Local XML File

    When I use the .Source property of the WebBrowser control, it displays the XML file I pointed to, but then puts a security banner at the top, stating that some content has been disabled.  I can't figure out how to stop that warning from appearing.  I

  • Upgrade microSD

    HELLO I need some help please , I have a 32Gb microSD on my Xperia z2 whit some photos and music , but now I want to upgrade my microSD to a 64Gb , its possible to copy the files from the older microSD on my computer to the new ( 64Gb) . When I inser

  • Trial Balance Cost Center Wise

    We have created the Cost Elements, in the system for assigning the Cost Centers to these as and when the transactions are recorded. While we can generate the Cost Reports based on the Cost Centers used for capturing the transactions, there is a requi