Coherence has several incubator project, Push replication is one of them which enable you to turn on replication between several standalone clusters. i.e Cross WAN replication between data centers.
I just read their limited documentation, trying to setup one Master-Slave replication between two separate clusters in my pc. ON the master side, here is the cache configuration. basically load the default coherence config, reference the incubator pof file.
Here is just pickup the remote cluster publisher
using the distributed-scheme-with-publishing-cachestore scheme will enable the runtime to capture the entity change to a queue, then flushed to remote cluster using the remove invocation service.
All set, when I try to feed some data to the local cache which is Master, long stack trace appears.
Map (master): put a 2 2011-10-25 09:17:19.862/22.446 Oracle Coherence GE 3.7.1.0 <Error> (thread=main, member=2): Portable(com.tangosol.util.WrapperException): (Wrapped: Failed request execution for DistributedCacheWithPublishingCacheStore service on Member(Id=1, Timestamp= 706, Address=192.168.137.1:8090, MachineId=63704, Location=site:E3,machine:androidyou-PC,process:6004, Role=CoherenceServer)) null at com.tangosol.util.Base.ensureRuntimeException(Base.java:288) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.tagException(Grid.CDB:36) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onPutRequest(PartitionedCache.CDB:50) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$PutRequest.run(PartitionedCache.CDB:1) at com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:1) at com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:32) at com.tangosol.coherence.component.util.DaemonPool$Daemon.onNotify(DaemonPool.CDB:63) at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42) at java.lang.Thread.run(Thread.java:619) at <process boundary> at com.tangosol.io.pof.ThrowablePofSerializer.deserialize(ThrowablePofSerializer.java:57) at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3316) at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2604) at com.tangosol.io.pof.ConfigurablePofContext.deserialize(ConfigurablePofContext.java:368) at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.readObject(Service.CDB:1) at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1) at com.tangosol.coherence.component.net.message.SimpleResponse.read(SimpleResponse.CDB:6) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.deserializeMessage(Grid.CDB:19) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:31) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3) at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42) at java.lang.Thread.run(Thread.java:619) Caused by: Portable(java.lang.UnsupportedOperationException) at java.util.AbstractMap.put(AbstractMap.java:186) at com.tangosol.util.WrapperObservableMap.put(WrapperObservableMap.java:151) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.postPut(PartitionedCache.CDB:70) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.put(PartitionedCache.CDB:17) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onPutRequest(PartitionedCache.CDB:25) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$PutRequest.run(PartitionedCache.CDB:1) at com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:1) at com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:32) at com.tangosol.coherence.component.util.DaemonPool$Daemon.onNotify(DaemonPool.CDB:63) at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42) at java.lang.Thread.run(Thread.java:619) at <process boundary> at com.tangosol.io.pof.ThrowablePofSerializer.deserialize(ThrowablePofSerializer.java:57) |
ON the storage Node, the error that may bring you here,
</class-scheme>) java.lang.reflect.InvocationTargetException at com.tangosol.util.Base.ensureRuntimeException(Base.java:288) at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2652) at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2536) at com.tangosol.net.DefaultConfigurableCacheFactory.instantiateAny(DefaultConfigurableCacheFactory.java:3476) at com.tangosol.net.DefaultConfigurableCacheFactory.instantiateCacheStore(DefaultConfigurableCacheFactory.java:3324) at com.tangosol.net.DefaultConfigurableCacheFactory.instantiateReadWriteBackingMap(DefaultConfigurableCacheFactory.java:1753) at com.tangosol.net.DefaultConfigurableCacheFactory.configureBackingMap(DefaultConfigurableCacheFactory.java:1500) at com.tangosol.net.DefaultConfigurableCacheFactory$Manager.instantiateBackingMap(DefaultConfigurableCacheFactory.java:4111) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.instantiateBackingMap(Partitione at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.setCacheName(PartitionedCache.CD at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ServiceConfig$ConfigListener.entryInsert CDB:17) at com.tangosol.util.MapEvent.dispatch(MapEvent.java:266) at com.tangosol.util.MapEvent.dispatch(MapEvent.java:226) at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:567) at com.tangosol.util.ObservableHashMap.dispatchEvent(ObservableHashMap.java:229) at com.tangosol.util.ObservableHashMap$Entry.onAdd(ObservableHashMap.java:270) at com.tangosol.util.SafeHashMap.put(SafeHashMap.java:244) at com.tangosol.coherence.component.util.ServiceConfig$Map.put(ServiceConfig.CDB:43) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$StorageIdRequest.onReceived(PartitionedC at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:34) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3) at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3) at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.tangosol.util.ClassHelper.newInstance(ClassHelper.java:694) at com.tangosol.run.xml.XmlHelper.createInstance(XmlHelper.java:2611) ... 23 more Caused by: java.lang.ClassCastException: com.tangosol.net.DefaultConfigurableCacheFactory cannot be cast to com.oracle.coherence.environment.Environment at com.oracle.coherence.patterns.pushreplication.PublishingCacheStore.<init>(PublishingCacheStore.java:179) ... 29 more 2011-10-25 09:17:16.120/18.685 Oracle Coherence GE 3.7.1.0 <D5> (thread=Cluster, member=1): Member 2 joined Service DistributedCacheWithPublishingCacheStore wit |
trying to cast DefautCOnfigurableCacheFactory to Envionment? what is Environment class located, in standard coherence, or Incubator project? Iet me find it out in eclipse.
It is in the common lib used by push replication,
check the class hierarchy, it’s another cachefactory,
then change our cachefactory from the default DefautCOnfigurableCacheFactory to the incubator cache facotry, it will pick up the setting like sync namespace.
Old,
should be,
then all back to normal. Hope it helps
3 comments:
Just wanted to say this helped me. Thanks!
This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.
Biotech Internships | internships for cse students | web designing course in chennai | it internships | electrical engineering internships | internship for bcom students | python training in chennai | web development internship | internship for bba students | internship for 1st year engineering students
Post a Comment