Oracle coherence-Pof(Portable object format)
HI,
I am new to oracle coherence.I read that POF is language independent.I am trying to create a portable object in java and access that object in .NET .So i created a portable object by implementing Portable object interface in Java. My Portable object is as follows:
Pof.java:
package com;
import java.io.IOException;
import java.io.Serializable;
import javax.persistence.*;
import oracle.eclipselink.coherence.integrated.config.CoherenceReadWriteCustomizer;
import org.eclipse.persistence.annotations.Customizer;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
import com.tangosol.io.pof.PortableObject;
* The persistent class for the POF database table.
@Entity
@Customizer(CoherenceReadWriteCustomizer.class)
public class Pof implements Serializable,PortableObject {
private static final long serialVersionUID = 1L;
@Id
private long id;
private String city;
private String name;
@Column(name="\"STATE\"")
private String state;
private String street;
private String zip;
public Pof() {
public Pof(long id,String city,String name,String state,String street,String zip)
this.id=id;
this.city=city;
this.name=name;
this.state=state;
this.street=street;
this.zip=zip;
public long getId() {
return this.id;
public void setId(long id) {
this.id = id;
public String getCity() {
return this.city;
public void setCity(String city) {
this.city = city;
public String getName() {
return this.name;
public void setName(String name) {
this.name = name;
public String getState() {
return this.state;
public void setState(String state) {
this.state = state;
public String getStreet() {
return this.street;
public void setStreet(String street) {
this.street = street;
public String getZip() {
return this.zip;
public void setZip(String zip) {
this.zip = zip;
@Override
public void readExternal(PofReader arg0) throws IOException
id=arg0.readLong(0);
city=arg0.readString(1);
name=arg0.readString(2);
state=arg0.readString(3);
street=arg0.readString(4);
zip=arg0.readString(5);
@Override
public void writeExternal(PofWriter arg0) throws IOException
arg0.writeLong(0,id);
arg0.writeString(1,city);
arg0.writeString(2,name);
arg0.writeString(3,state);
arg0.writeString(4,street);
arg0.writeString(5,zip);
@Override
public String toString()
return "cityname="+city;
coherence-cache-config.xml
<?xml version="1.0"?>
<!--<!DOCTYPE cache-config SYSTEM "cache-config.dtd">-->
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>Pof</cache-name>
<scheme-name>disributedschema</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>disributedschema</scheme-name>
<service-name>distributedschemaservice</service-name>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-value system-property="pof.config">file:///C:/Users/Praveen/workspace/newappworkspace/POF/src/pof-config.xml</param-value>
<param-type>String</param-type>
</init-param>
</init-params>
</serializer>
<backing-map-scheme>
<read-write-backing-map-scheme>
<internal-cache-scheme>
<local-scheme/>
</internal-cache-scheme>
<cachestore-scheme>
<class-scheme>
<class-name>oracle.eclipselink.coherence.integrated.EclipseLinkJPACacheStore</class-name>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value>{cache-name}</param-value>
</init-param>
<init-param>
<param-type>java.lang.String</param-type>
<param-value>POF</param-value>
</init-param>
</init-params>
</class-scheme>
</cachestore-scheme>
</read-write-backing-map-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>
pof-config.xml
<?xml version="1.0"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<!-- include all "standard" Coherence POF user types -->
<include>coherence-pof-config.xml</include>
<user-type>
<type-id>1001</type-id>
<class-name>com.Pof</class-name>
</user-type>
</user-type-list>
<allow-interfaces>true</allow-interfaces>
<allow-subclasses>true</allow-subclasses>
</pof-config>
Now the data is inserting in to the database and cache.Now how to access this portable object in .NET?
Any suggestions would be great.
Regards,
Praveen
Hopefully, Coherence Developer's Guide 3.6.1 "Using POF" will help:
http://download.oracle.com/docs/cd/E15357_01/coh.360/e15723/api_pof.htm#BABEJCFF
/Mark J
Oracle Coherence
Similar Messages
-
Hi All ,I am working on portable object format with coherence my requirement is to build portable object format using java so every platform call that object..
please tell me when ever i use to start the coherence with my cache name its showing like pof-config file unable to find how to resolve this error is there any wrong in my cohernce cache config if there pls tell me ...
is it correct way to built portable object .
*1.Created the java class ( Manager.java) --> portable object interface*
package com.Manager;
import java.io.IOException;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
import com.tangosol.io.pof.PortableObject;
public class Manager implements PortableObject
private String m_id ;
private String m_name ;
public Manager()
public Manager(String m_id,String m_name)
this.m_id=m_id;
this.m_name=m_name;
public String getId()
return m_id;
public void setId(String id)
m_id = id;
public String getName()
return m_name;
public void setName(String name)
m_name = name;
@Override
public void readExternal(PofReader arg0) throws IOException {
// TODO Auto-generated method stub
m_id = arg0.readString(0);
m_name = arg0.readString(1);
@Override
public void writeExternal(PofWriter arg0) throws IOException {
arg0.writeString(0, m_id);
arg0.writeString(1, m_name);
*2. created the (manager2.java)*
package com.Manager;
import java.io.IOException;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
public class Manager2 -->Pof Initilizer
public void serialize(PofWriter out, Object o)
throws IOException
Manager trade = (Manager) o;
out.writeObject(0, trade.getId());
out.writeString(1, trade.getName());
// mark that writing the object is done
out.writeRemainder(null);
public Object deserialize(PofReader in)
throws IOException
String ldtPlaced = in.readString(0);
String name = in.readString(1);
// mark that reading the object is done
in.readRemainder();
return new Manager(ldtPlaced,name);
*3.created another java class to cput the data into cache*
package com.Manager;
import com.Manager.Manager;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
public class Main {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
String m_id = "123";
String m_name ="laxman";
CacheFactory.ensureCluster();
NamedCache cache = CacheFactory.getCache("hello");
/*Manager m1 = new Manager();
m1.setId("1");
m1.setName("laxman");*/
cache.put(m_id,m_name);
**4.created coherence-cache-config.xml**
!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>hello</cache-name>
<scheme-name>Distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>Distributed</scheme-name>
<service-name>DistributedCache</service-name>
<serializer>
<instance>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>String</param-type>
<param-value>pof-config.xml</param-value>
</init-param>
</init-params>
</instance>
</serializer>
<backing-map-scheme>
<local-scheme>
<!-- each node will be limited to 250MB -->
<high-units>250M</high-units>
<unit-calculator>binary</unit-calculator>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>
****5.created coherence-pof-config.xml****
<?xml version="1.0"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<include>Manager-pof-config.xml</include>
<user-type>
<type-id>1000</type-id>
<class-name>com.Manager.Manager</class-name>
<serializer>
<class-name>com.Manager.Manager2</class-name>
</serializer>
</user-type>
</user-type-list>
</pof-config>
****6.My Cache-server.cmd****
@echo off
@rem This will start a cache server
setlocal
:config
@rem specify the Coherence installation directory
set coherence_home=%~dp0\..
@rem specify the JVM heap size
set memory=512m
: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% -Dtangosol.pof.config=file:/C:/Users/lakshmana/JPACoherenceWorkspace/Application/appClientModule/Manager-pof-config.xml -Dtangosol.coherence.cacheconfig=file:/C:/Users/lakshmana/JPACoherenceWorkspace/Application/appClientModule/coherence-cache-config.xml"
"%java_exec%" -server -showversion "%java_opts%" -cp "%coherence_home%\lib\coherence.jar" com.tangosol.net.DefaultCacheServer %1
goto exit
:instructions
echo Usage:
echo ^<coherence_home^>\bin\cache-server.cmd
goto exit
:exit
endlocal
@echo on
***7.Coherence-cache-server.cmd***
@echo off
@rem This will start a console application
@rem demonstrating the functionality of the Coherence(tm) API
setlocal
:config
@rem specify the Coherence installation directory
set coherence_home=%~dp0\..
@rem specify if the console will also act as a server
set storage_enabled=false
@rem specify the JVM heap size
set memory=64m
: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
if "%storage_enabled%"=="true" (echo ** Starting storage enabled console **) else (echo ** Starting storage disabled console **)
set java_opts="-Xms%memory% -Xmx%memory% -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.cacheconfig=file:/C:/Users/Praveen/workspace/SimpleCacheApp/build/classes/coherence-cache-config.xml -Dtangosol.coherence.override=file:/C:/Users/Praveen/workspace/SimpleCacheApp/src/tangosol-coherence-override.xml"
"%java_exec%" -server -showversion "%java_opts%" -cp "%coherence_home%\lib\coherence.jar" com.tangosol.net.CacheFactory %1
goto exit
:instructions
echo Usage:
echo ^<coherence_home^>\bin\coherence.cmd
goto exit
:exit
endlocal
@echo on
**cache server working fine , When i am trying to start the coherence and entered cache and mycache name hello its showing following error**
Map (?): cache hello
2012-06-14 22:48:02.475/7.590 Oracle Coherence GE 3.6.0.4 <Info> (thread=main, member=11): Loaded cache configuration from "file:/C:/Users/lakshmana/JPACoherenceWorkspace/Application/appClientModule/c
oherence-cache-config.xml"
2012-06-14 22:48:02.609/7.724 Oracle Coherence GE 3.6.0.4 <D4> (thread=DistributedCache, member=11): PartitionedCache caught an unhandled exception (com.tangosol.util.WrapperException: (Wrapped: error
configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load POF configuration: Manager-config.xml) The POF configuration is missing: "Manager-config.xml", loader=sun.misc
.Launcher$AppClassLoader@6d6f0472) while exiting.
2012-06-14 22:48:02.610/7.725 Oracle Coherence GE 3.6.0.4 <Error> (thread=DistributedCache, member=11): ClusterService.doServiceLeft: Unknown Service PartitionedCache{Name=DistributedCache, State=(SER
VICE_STOPPED), Not initialized}
2012-06-14 22:48:02.610/7.725 Oracle Coherence GE 3.6.0.4 <D5> (thread=DistributedCache, member=11): Service DistributedCache left the cluster
2012-06-14 22:48:02.625/7.740 Oracle Coherence GE 3.6.0.4 <Error> (thread=main, member=11): Error while starting service "DistributedCache": (Wrapped) (Wrapped: error configuring class "com.tangosol.i
o.pof.ConfigurablePofContext") (Wrapped: Failed to load POF configuration: Manager-config.xml) java.io.IOException: The POF configuration is missing: "Manager-config.xml", loader=sun.misc.Launcher$App
ClassLoader@6d6f0472
at com.tangosol.coherence.component.util.Daemon.start(Daemon.CDB:52)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:7)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)
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.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1057)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:892)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:874)
at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1231)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:290)
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:735)
at com.tangosol.coherence.component.application.console.Coherence.doCache(Coherence.CDB:18)
at com.tangosol.coherence.component.application.console.Coherence.processCommand(Coherence.CDB:209)
at com.tangosol.coherence.component.application.console.Coherence.run(Coherence.CDB:37)
at com.tangosol.coherence.component.application.console.Coherence.main(Coherence.CDB:3)
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.tangosol.net.CacheFactory.main(CacheFactory.java:1400)
Caused by: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load POF configuration: Manager-config.xml) java.io.IOException: The POF configuration is
missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:17)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onEnter(Grid.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onEnter(PartitionedService.CDB:19)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:14)
at java.lang.Thread.run(Thread.java:662)
Caused by: (Wrapped: Failed to load POF configuration: Manager-config.xml) java.io.IOException: The POF configuration is missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:330)
at com.tangosol.run.xml.XmlHelper.loadFileOrResource(XmlHelper.java:281)
at com.tangosol.io.pof.ConfigurablePofContext.createPofConfig(ConfigurablePofContext.java:813)
at com.tangosol.io.pof.ConfigurablePofContext.initialize(ConfigurablePofContext.java:775)
at com.tangosol.io.pof.ConfigurablePofContext.setContextClassLoader(ConfigurablePofContext.java:319)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:13)
... 6 more
Caused by: java.io.IOException: The POF configuration is missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:316)
... 11 more
2012-06-14 22:48:02.625/7.740 Oracle Coherence GE 3.6.0.4 <Error> (thread=main, member=11):
(Wrapped) (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load POF configuration: Manager-config.xml) java.io.IOException: The POF configuration is
missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.Daemon.start(Daemon.CDB:52)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:7)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)
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.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1057)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:892)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:874)
at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1231)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:290)
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:735)
at com.tangosol.coherence.component.application.console.Coherence.doCache(Coherence.CDB:18)
at com.tangosol.coherence.component.application.console.Coherence.processCommand(Coherence.CDB:209)
at com.tangosol.coherence.component.application.console.Coherence.run(Coherence.CDB:37)
at com.tangosol.coherence.component.application.console.Coherence.main(Coherence.CDB:3)
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.tangosol.net.CacheFactory.main(CacheFactory.java:1400)
Caused by: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load POF configuration: Manager-config.xml) java.io.IOException: The POF configuration is
missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:17)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onEnter(Grid.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onEnter(PartitionedService.CDB:19)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:14)
at java.lang.Thread.run(Thread.java:662)
Caused by: (Wrapped: Failed to load POF configuration: Manager-config.xml) java.io.IOException: The POF configuration is missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:330)
at com.tangosol.run.xml.XmlHelper.loadFileOrResource(XmlHelper.java:281)
at com.tangosol.io.pof.ConfigurablePofContext.createPofConfig(ConfigurablePofContext.java:813)
at com.tangosol.io.pof.ConfigurablePofContext.initialize(ConfigurablePofContext.java:775)
at com.tangosol.io.pof.ConfigurablePofContext.setContextClassLoader(ConfigurablePofContext.java:319)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:13)
... 6 more
Caused by: java.io.IOException: The POF configuration is missing: "Manager-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:316)
... 11 more
Please tell me how to approach this task.......
Thanks
Edited by: 875910 on Jun 15, 2012 12:48 PM
Edited by: 875910 on Jun 15, 2012 1:14 PMhi Jon thanks for reply ...actually i have modified what u said in the post , but still i am getting the same error .............
is it correct way to build a portable object , its by using java .....
is it when i remove serializer in my coherence-ccache-config ..its working fine ,
Is there any mistake in this config ....if i used this serializer ,getting following error , this config is must to implement pof concept...
<serializer>
<instance>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>String</param-type>
<param-value>Manager-pof-config.xml</param-value>
</init-param>
</init-params>
</instance>
</serializer>
Map (?): cache hello
2012-06-15 16:09:27.651/5.755 Oracle Coherence GE 3.6.0.4 <Info> (thread=main, member=13): Loaded cache configuration from "file:/C:/Users/lakshmana/J
oherence-cache-config.xml"
2012-06-15 16:09:27.784/5.888 Oracle Coherence GE 3.6.0.4 <Info> (thread=DistributedCache:DistributedCacheService, member=13): Loaded POF configuratio
pace/Application/appClientModule/Manager-pof-config.xml"
2012-06-15 16:09:27.784/5.888 Oracle Coherence GE 3.6.0.4 <D4> (thread=DistributedCache:DistributedCacheService, member=13): PartitionedCache caught a
ception: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load included POF configuration: Manager-
missing: "Manager-pof-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472) while exiting.
2012-06-15 16:09:27.785/5.889 Oracle Coherence GE 3.6.0.4 <Error> (thread=DistributedCache:DistributedCacheService, member=13): ClusterService.doServi
ributedCacheService, State=(SERVICE_STOPPED), Not initialized}
2012-06-15 16:09:27.786/5.890 Oracle Coherence GE 3.6.0.4 <D5> (thread=DistributedCache:DistributedCacheService, member=13): Service DistributedCacheS
2012-06-15 16:09:27.789/5.893 Oracle Coherence GE 3.6.0.4 <Error> (thread=main, member=13): Error while starting service "DistributedCacheService": (W
gosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load included POF configuration: Manager-pof-config.xml) java.io.IOException: The included P
ml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.Daemon.start(Daemon.CDB:52)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:7)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)
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.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1057)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:892)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:874)
at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1231)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:290)
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:735)
at com.tangosol.coherence.component.application.console.Coherence.doCache(Coherence.CDB:18)
at com.tangosol.coherence.component.application.console.Coherence.processCommand(Coherence.CDB:209)
at com.tangosol.coherence.component.application.console.Coherence.run(Coherence.CDB:37)
at com.tangosol.coherence.component.application.console.Coherence.main(Coherence.CDB:3)
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.tangosol.net.CacheFactory.main(CacheFactory.java:1400)
Caused by: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load included POF configuration: Manage
d POF configuration is missing: "Manager-pof-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:17)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onEnter(Grid.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onEnter(PartitionedService.CDB:19)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:14)
at java.lang.Thread.run(Thread.java:662)
Caused by: (Wrapped: Failed to load included POF configuration: Manager-pof-config.xml) java.io.IOException: The included POF configuration is missing
er$AppClassLoader@6d6f0472
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:330)
at com.tangosol.run.xml.XmlHelper.loadFileOrResource(XmlHelper.java:281)
at com.tangosol.io.pof.ConfigurablePofContext.createPofConfig(ConfigurablePofContext.java:856)
at com.tangosol.io.pof.ConfigurablePofContext.initialize(ConfigurablePofContext.java:775)
at com.tangosol.io.pof.ConfigurablePofContext.setContextClassLoader(ConfigurablePofContext.java:319)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:13)
... 6 more
Caused by: java.io.IOException: The included POF configuration is missing: "Manager-pof-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:316)
... 11 more
2012-06-15 16:09:27.789/5.893 Oracle Coherence GE 3.6.0.4 <Error> (thread=main, member=13):
(Wrapped) (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load included POF configuration: Manager
POF configuration is missing: "Manager-pof-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.Daemon.start(Daemon.CDB:52)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.start(Service.CDB:7)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.start(Grid.CDB:6)
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.ensureServiceInternal(DefaultConfigurableCacheFactory.java:1057)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureService(DefaultConfigurableCacheFactory.java:892)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:874)
at com.tangosol.net.DefaultConfigurableCacheFactory.configureCache(DefaultConfigurableCacheFactory.java:1231)
at com.tangosol.net.DefaultConfigurableCacheFactory.ensureCache(DefaultConfigurableCacheFactory.java:290)
at com.tangosol.net.CacheFactory.getCache(CacheFactory.java:735)
at com.tangosol.coherence.component.application.console.Coherence.doCache(Coherence.CDB:18)
at com.tangosol.coherence.component.application.console.Coherence.processCommand(Coherence.CDB:209)
at com.tangosol.coherence.component.application.console.Coherence.run(Coherence.CDB:37)
at com.tangosol.coherence.component.application.console.Coherence.main(Coherence.CDB:3)
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.tangosol.net.CacheFactory.main(CacheFactory.java:1400)
Caused by: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to load included POF configuration: Manage
d POF configuration is missing: "Manager-pof-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:17)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onEnter(Grid.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onEnter(PartitionedService.CDB:19)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:14)
at java.lang.Thread.run(Thread.java:662)
Caused by: (Wrapped: Failed to load included POF configuration: Manager-pof-config.xml) java.io.IOException: The included POF configuration is missing
er$AppClassLoader@6d6f0472
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:330)
at com.tangosol.run.xml.XmlHelper.loadFileOrResource(XmlHelper.java:281)
at com.tangosol.io.pof.ConfigurablePofContext.createPofConfig(ConfigurablePofContext.java:856)
at com.tangosol.io.pof.ConfigurablePofContext.initialize(ConfigurablePofContext.java:775)
at com.tangosol.io.pof.ConfigurablePofContext.setContextClassLoader(ConfigurablePofContext.java:319)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.instantiateSerializer(Service.CDB:13)
... 6 more
Caused by: java.io.IOException: The included POF configuration is missing: "Manager-pof-config.xml", loader=sun.misc.Launcher$AppClassLoader@6d6f0472
at com.tangosol.run.xml.XmlHelper.loadResourceInternal(XmlHelper.java:316)
... 11 more
Map (?):
Thanks.. -
Portable Object Format with Coherence
Hi All , i have implemented portable object with coherence by using java its working good , i am able put and get the data from cache . Now my requirement is to use another technology like .NET i need to get the data from cache. note : portable object means can any technology use that object (C++ or .NET).
can u pls tell me how to approach to this task...
I have everything ready with java now i need to interact with .NET to get the data....
ThanksThere is sample code that shows how to do this:
http://coherence.oracle.com/display/EXAMPLES/Coherence+Features+Examples
The topic is also covered by Aleks Seovich's book:
http://www.amazon.com/Oracle-Coherence-3-5-Aleksandar-Seovic/dp/1847196128 -
Which object-relational mapping tool is the best for Oracle Coherence?
Which object-relational mapping tool is the best for Oracle Coherence?
My application is read-and-write-intensive. Which tool is most suitable for this application?
TopLink essentials, TopLink, Eclipse or Hibernate?
Thank youI would pick Hibernate mainly because of its popularity and wide knowledge base.
Coherence has provided some documentation for the integration.
http://download.oracle.com/docs/cd/E14526_01/coh.350/e14537/usehibernateascoh.htm#CEGFEFJH
If you have the schema in database, myEclipse can provide you hibernate bindings by reverse engineering. -
TCP Extend Server - Failed to start Service - Oracle Coherence GE 3.5.2/463
Hello,
We are about to go to production I see Failed to start Service in TCP Extend Server (Storage disable node).
Regards
/AG
My Configuration look like the following
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>distributedCache</scheme-name>
<service-name>distributedCache</service-name>
<backing-map-scheme>
<local-scheme>
<eviction-policy>HYBRID</eviction-policy>
<high-units>500</high-units>
<low-units>375</low-units>
<unit-calculator>BINARY</unit-calculator>
<unit-factor>1048576</unit-factor>
</local-scheme>
</backing-map-scheme>
</distributed-scheme>
<proxy-scheme>
<service-name>ExtendTcpProxyService</service-name>
<thread-count>15</thread-count>
<acceptor-config>
<tcp-acceptor>
<local-address>
<address system-property="proxy.listen.address">....</address>
<port system-property="proxy.listen.port">....</port>
</local-address>
</tcp-acceptor>
</acceptor-config>
<autostart>true</autostart>
</proxy-scheme>
</caching-schemes>
</cache-config>
------------------------------------------------------------------------- And the Log looks like the following ------------------------------------
2009-12-04 16:21:54.056/25821.278 Oracle Coherence GE 3.5.2/463 <D6> (thread=Proxy:ExtendTcpProxyService:TcpAcceptor, member=12): Closed: Channel(Id=193159068
6, Open=false)
2009-12-04 16:21:54.058/25821.280 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:4, member=12): Repeating SizeReques
t due to the re-distribution of PartitionSet{220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242
, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256}
2009-12-04 16:21:54.058/25821.280 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:12, member=12): Repeating SizeReque
st due to the re-distribution of PartitionSet{220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 24
2, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256}
2009-12-04 16:21:54.058/25821.280 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:11, member=12): Repeating SizeReque
st due to the re-distribution of PartitionSet{220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 24
2, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256}
2009-12-04 16:21:54.058/25821.280 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:7, member=12): Repeating SizeReques
t due to the re-distribution of PartitionSet{220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242
, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256}
2009-12-04 16:21:54.175/25821.397 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:10, member=12): An exception occurr
ed while processing a SizeRequest for Service=Proxy:ExtendTcpProxyService:TcpAcceptor: (Wrapped) java.lang.InterruptedException
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:107)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForRedistribution(DistributedCache.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.ensureRequestTarget(DistributedCache.CDB:15)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.sendPartitionedRequest(DistributedCache.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.size(DistributedCache.CDB:13)
at com.tangosol.util.ConverterCollections$ConverterMap.size(ConverterCollections.java:1470)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ViewMap.size(DistributedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.size(SafeNamedCache.CDB:1)
at com.tangosol.coherence.component.util.collections.WrapperMap.size(WrapperMap.CDB:1)
at com.tangosol.coherence.component.net.extend.messageFactory.NamedCacheFactory$SizeRequest.onRun(NamedCacheFactory.CDB:7)
at com.tangosol.coherence.component.net.extend.message.Request.run(Request.CDB:4)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.onMessage(NamedCacheProxy.CDB:11)
at com.tangosol.coherence.component.net.extend.Channel.execute(Channel.CDB:28)
at com.tangosol.coherence.component.net.extend.Channel.receive(Channel.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer$DaemonPool$WrapperTask.run(Peer.CDB:9)
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)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:96)
... 18 more
2009-12-04 16:21:54.175/25821.397 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:9, member=12): An exception occurre
d while processing a SizeRequest for Service=Proxy:ExtendTcpProxyService:TcpAcceptor: (Wrapped) java.lang.InterruptedException
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:107)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForRedistribution(DistributedCache.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.ensureRequestTarget(DistributedCache.CDB:15)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.sendPartitionedRequest(DistributedCache.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.size(DistributedCache.CDB:13)
at com.tangosol.util.ConverterCollections$ConverterMap.size(ConverterCollections.java:1470)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ViewMap.size(DistributedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.size(SafeNamedCache.CDB:1)
at com.tangosol.coherence.component.util.collections.WrapperMap.size(WrapperMap.CDB:1)
at com.tangosol.coherence.component.net.extend.messageFactory.NamedCacheFactory$SizeRequest.onRun(NamedCacheFactory.CDB:7)
at com.tangosol.coherence.component.net.extend.message.Request.run(Request.CDB:4)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.onMessage(NamedCacheProxy.CDB:11)
at com.tangosol.coherence.component.net.extend.Channel.execute(Channel.CDB:28)
at com.tangosol.coherence.component.net.extend.Channel.receive(Channel.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer$DaemonPool$WrapperTask.run(Peer.CDB:9)
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)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:96)
... 18 more
2009-12-04 16:21:54.175/25821.397 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:13, member=12): An exception occurr
ed while processing a SizeRequest for Service=Proxy:ExtendTcpProxyService:TcpAcceptor: (Wrapped) java.lang.InterruptedException
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:107)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForRedistribution(DistributedCache.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.ensureRequestTarget(DistributedCache.CDB:15)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.sendPartitionedRequest(DistributedCache.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.size(DistributedCache.CDB:13)
at com.tangosol.util.ConverterCollections$ConverterMap.size(ConverterCollections.java:1470)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ViewMap.size(DistributedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.size(SafeNamedCache.CDB:1)
at com.tangosol.coherence.component.util.collections.WrapperMap.size(WrapperMap.CDB:1)
at com.tangosol.coherence.component.net.extend.messageFactory.NamedCacheFactory$SizeRequest.onRun(NamedCacheFactory.CDB:7)
at com.tangosol.coherence.component.net.extend.message.Request.run(Request.CDB:4)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.onMessage(NamedCacheProxy.CDB:11)
at com.tangosol.coherence.component.net.extend.Channel.execute(Channel.CDB:28)
at com.tangosol.coherence.component.net.extend.Channel.receive(Channel.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer$DaemonPool$WrapperTask.run(Peer.CDB:9)
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)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:96)
... 18 more
2009-12-04 16:21:54.175/25821.397 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:11, member=12): An exception occurr
ed while processing a SizeRequest for Service=Proxy:ExtendTcpProxyService:TcpAcceptor: (Wrapped) java.lang.InterruptedException
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:107)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForRedistribution(DistributedCache.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.ensureRequestTarget(DistributedCache.CDB:15)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.sendPartitionedRequest(DistributedCache.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.size(DistributedCache.CDB:13)
at com.tangosol.util.ConverterCollections$ConverterMap.size(ConverterCollections.java:1470)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ViewMap.size(DistributedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.size(SafeNamedCache.CDB:1)
at com.tangosol.coherence.component.util.collections.WrapperMap.size(WrapperMap.CDB:1)
at com.tangosol.coherence.component.net.extend.messageFactory.NamedCacheFactory$SizeRequest.onRun(NamedCacheFactory.CDB:7)
at com.tangosol.coherence.component.net.extend.message.Request.run(Request.CDB:4)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.onMessage(NamedCacheProxy.CDB:11)
at com.tangosol.coherence.component.net.extend.Channel.execute(Channel.CDB:28)
at com.tangosol.coherence.component.net.extend.Channel.receive(Channel.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer$DaemonPool$WrapperTask.run(Peer.CDB:9)
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)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:96)
... 18 more
2009-12-04 16:21:54.175/25821.397 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:2, member=12): An exception occurre
d while processing a SizeRequest for Service=Proxy:ExtendTcpProxyService:TcpAcceptor: (Wrapped) java.lang.InterruptedException
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:107)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForRedistribution(DistributedCache.CDB:34)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.ensureRequestTarget(DistributedCache.CDB:15)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.sendPartitionedRequest(DistributedCache.CDB:31)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.size(DistributedCache.CDB:13)
at com.tangosol.util.ConverterCollections$ConverterMap.size(ConverterCollections.java:1470)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ViewMap.size(DistributedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.size(SafeNamedCache.CDB:1)
at com.tangosol.coherence.component.util.collections.WrapperMap.size(WrapperMap.CDB:1)
at com.tangosol.coherence.component.net.extend.messageFactory.NamedCacheFactory$SizeRequest.onRun(NamedCacheFactory.CDB:7)
at com.tangosol.coherence.component.net.extend.message.Request.run(Request.CDB:4)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.onMessage(NamedCacheProxy.CDB:11)
at com.tangosol.coherence.component.net.extend.Channel.execute(Channel.CDB:28)
at com.tangosol.coherence.component.net.extend.Channel.receive(Channel.CDB:26)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer$DaemonPool$WrapperTask.run(Peer.CDB:9)
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)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:96)
... 18 more
2009-12-04 16:21:54.176/25821.398 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:6, member=12): An exception occurre
d while processing a SizeRequest for Service=Proxy:ExtendTcpProxyService:TcpAcceptor: (Wrapped) java.lang.InterruptedException
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.util.Base.ensureRuntimeException(Base.java:269)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForPartitionRedistribution(DistributedCache
.CDB:107)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BinaryMap.waitForRedistribution(DistributedCache.CDB:34)
:$
2009-12-04 16:21:54.259/25821.481 Oracle Coherence GE 3.5.2/463 <D4> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:8, member=12): Daemon caught an unh
andled exception (com.tangosol.net.messaging.ConnectionException: channel is closed) while exiting.
2009-12-04 16:21:54.264/25821.486 Oracle Coherence GE 3.5.2/463 <D4> (thread=Proxy:ExtendTcpProxyService:TcpAcceptorWorker:3, member=12): Daemon caught an unh
andled exception (com.tangosol.net.messaging.ConnectionException: channel is closed) while exiting.
2009-12-04 16:21:54.330/25821.552 Oracle Coherence GE 3.5.2/463 <D5> (thread=Proxy:ExtendTcpProxyService:TcpAcceptor, member=12): Stopped: TcpAcceptor{Name=Pr
oxy:ExtendTcpProxyService:TcpAcceptor, State=(SERVICE_STOPPED), ThreadCount=0, Codec=Codec(Format=POF), PingInterval=0, PingTimeout=0, RequestTimeout=0, Local
Address=[nybc94lxb01/10.12.101.81:21005], LocalAddressReusable=false, KeepAliveEnabled=true, TcpDelayEnabled=false, ReceiveBufferSize=0, SendBufferSize=0, Lis
tenBacklog=0, LingerTimeout=-1, BufferPoolIn=BufferPool(BufferSize=2KB, BufferType=DIRECT, Capacity=Unlimited), BufferPoolOut=BufferPool(BufferSize=2KB, Buffe
rType=DIRECT, Capacity=Unlimited)}
Exception in thread "Thread-2" java.lang.RuntimeException: Failed to start Service "Proxy:ExtendTcpProxyService:TcpAcceptor" (ServiceState=SERVICE_STOPPED)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.waitAcceptingClients(Service.CDB:12)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:10)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:1)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.closeChannel(Peer.CDB:18)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.closeChannel(Peer.CDB:1)
at com.tangosol.coherence.component.net.extend.Channel.close(Channel.CDB:20)
at com.tangosol.coherence.component.net.extend.Channel.close(Channel.CDB:1)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.run(NamedCacheProxy.CDB:30)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "Thread-3" java.lang.RuntimeException: Failed to start Service "Proxy:ExtendTcpProxyService:TcpAcceptor" (ServiceState=SERVICE_STOPPED)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.waitAcceptingClients(Service.CDB:12)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:10)
at com.tangosol.coherence.component.net.extend.Channel.request(Channel.CDB:1)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.closeChannel(Peer.CDB:18)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer.closeChannel(Peer.CDB:1)
at com.tangosol.coherence.component.net.extend.Channel.close(Channel.CDB:20)
at com.tangosol.coherence.component.net.extend.Channel.close(Channel.CDB:1)
at com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.run(NamedCacheProxy.CDB:30)
at java.lang.Thread.run(Thread.java:619)
Edited by: Anand Gupta on Dec 4, 2009 5:10 PMDavid,
Thanks for your detailed response. I will try all that you suggested and let you know my observation at the end. To give a back ground of the application I am working on.
Background
Try to replace home grown cache (very well optimized uses custom serialization using NIO bytebuffer etc.,) my mandate is to replace the legacy cache with coherence (I love coherence product (at least 3.4) from my previous job experience). Since all kind of optimization is done in legacy application I am converting NIO byteBuffer generated by legacy serialization to byteArray and converting ByteArray into POF. Also for various other reasons, I have to send entry processor to do even get and put data from the cluster.
Raw Data Set Size
My data size is just 500MB (In Production). I put enough cache nodes so that raw data is just 50MB per node. (Since it is compute heavy with entry processor and the number of clients are going to be ~2500)
What was happening when I got the exception?
I was doing stress testing of the cache. Not sure if that put lot of garbage in some of the node hence may be the garbage collection pause triggered the re-distribution of partition set. Since the stress testing was on the way it might had cascading effect on all the nodes.
Datagram Test result.
Tx summary 4 peers:
life: 96 MB/sec, 68774 packets/sec
now: 100 MB/sec, 71378 packets/sec, packets/burst: 1029, bursts/second: 69.41594
Success rate ranges from 0.87 to 1.0
Is a success rate less than 0.98 a cause for concern?
Regarding Size (to keep the extend client always connected to the proxy)
I do size request every 5 sec. if there is not other request has gone to the cluster in the past 5 sec.
In one of the oracle presentation it was said that "If you have map listener's and no other request from a long period of time extend client has to do a periodic size request to make sure that connection to proxy is alive"
In this regard my question is "Can the same effect achieved by doing member listener on the extend client and on disconnection do the size request?"
Proxy Size guide lines
In production number of extend clients are going to be ~2500 connected all the time.
Of which 2000 clients with few map listener + entry processor gets (Each of the clients will have distinct and disjoint set of data on which they work and listener)
And the remaining ~500 clients will do all kinds of request on the entire data set.
In this circumstance is there any recommendation for Number of extend-client : Number of extend-server : Number of threads ratio?
Regards
/Anand -
Oracle Coherence implementation for JDBC result set
Instead of ORM, is Oracle coherence will support for accessing the data using normal JDBC calls?
If it supports JDBC , what is the CacheStore implemetation for this?
Can you provide me some example how to cache the JDBC ResultSet values and retrieve back from Cache?Hi,
I think you mix up several concepts.
user13266701 wrote:
Instead of ORM, is Oracle coherence will support for accessing the data using normal JDBC calls?At the moment (up to 3.5.x), there is no way to query Coherence via JDBC out-of-the-box. There were a couple of initiatives to provide such features but they were not part of the product, only initiatives in the Incubator, but I believe they have been dropped.
Upcoming releases may bring replacement, although I don't think it would be outright JDBC compatible, as that would imply converting an object-oriented data to result set so that you can convert it back, so it would in effect waste CPU resources.
If it supports JDBC , what is the CacheStore implemetation for this?
CacheStores have nothing to do with how you access the cache itself. Those are internal operations invoked by Coherence itself. Don't look for a relationship between querying the cache and doing anything with the cache store. The only relationship with them is that key-based operations on the cache may lead to operations on the cache store, but whether they do happen or not depends on the cache content, too.
Can you provide me some example how to cache the JDBC ResultSet values and retrieve back from Cache?If I understand, that is yet a third concept. If you indeed want to cache JDBC ResultSet-s obtained from the database, then I have to disappoint you: it is not directly possible, as the ResultSet object is an abstraction over an open database cursor, and hence it keeps a database resource. Active resources cannot be cached in Coherence. You may acquire a RowSet from the JDBC driver, which would be possible to cache, however it may not be the most efficient thing to do due to possibly not optimal serialization format used by the RowSet to serialize itself.
So if I did not answer the questions you wanted to ask, would you please explain in more detail what exactly you would like to do?
Best regards,
Robert -
ReadDate problem for fields of POF enabled objects
Hi,
We are facing this resetting of date variables of a POF enabled object to System Date any time when object is looked up from cache.
Here is the driver program that I use. Please help!!!
package com;
import java.util.ArrayList;
import java.util.Date;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
public class POFDates {
public static void main(String[] args) {
// create cache
try {
NamedCache testEntryCache = CacheFactory.getCache("TESTCACHE");
Date myDate = new Date(System.currentTimeMillis());
Date myDate1 = new Date(System.currentTimeMillis()+24*3600*1000);
Date date1 =new Date(System.currentTimeMillis()+2*24*3600*1000);
ArrayList potentialDates = new ArrayList();
potentialDates.add(date1);
Other other = new Other("FirstOther",myDate);
Dates dates = new Dates("FirstMe",myDate,potentialDates,other);
System.out.println("****Dates initialy set in cache***"+dates);
testEntryCache.put("dates",dates);
Dates retrivedDates = null;
retrivedDates = (Dates) testEntryCache.get("dates");
System.out.println("-----Dates retrieved first Time from Cache------"
+ retrivedDates);
for (int i = 0; i < 3; i++) {
Thread.sleep(3000);
retrivedDates = (Dates) testEntryCache.get("dates");
System.out.println("####Dates retrieved "+i+"th Time from Cache"
+ retrivedDates);
} catch (Exception e) {
e.printStackTrace();
Output of the program is
****Dates initialy set in cache*** Dates.myDate = Wed Mar 31 22:40:58 CDT 2010<<< Dates.potentialDates = [Fri Apr 02 22:40:58 CDT 2010]<<< Dates.Other = Others' myDate:Wed Mar 31 22:40:58 CDT 2010<<<
-----Dates retrieved first Time from Cache------ Dates.myDate = Wed Mar 31 22:40:58 CDT 2010<<< Dates.potentialDates = [2010-04-02 22:40:58.473]<<< Dates.Other = Others' myDate:Wed Mar 31 22:40:58 CDT 2010<<<
2010-03-31 22:40:59.083/2.407 Oracle Coherence GE 3.5.2/463 <D5> (thread=TcpRingListener, member=2): TcpRing: connecting to member 1 using TcpSocket{State=STATE_OPEN, Socket=Socket[addr=/105.106.192.124,port=4347,localport=8089]}
####Dates retrieved 0th Time from Cache Dates.myDate = Wed Mar 31 22:41:01 CDT 2010<<< Dates.potentialDates = [2010-04-02 22:40:58.473]<<< Dates.Other = Others' myDate:Wed Mar 31 22:41:01 CDT 2010<<<
####Dates retrieved 1th Time from Cache Dates.myDate = Wed Mar 31 22:41:04 CDT 2010<<< Dates.potentialDates = [2010-04-02 22:40:58.473]<<< Dates.Other = Others' myDate:Wed Mar 31 22:41:04 CDT 2010<<<
####Dates retrieved 2th Time from Cache Dates.myDate = Wed Mar 31 22:41:07 CDT 2010<<< Dates.potentialDates = [2010-04-02 22:40:58.473]<<< Dates.Other = Others' myDate:Wed Mar 31 22:41:07 CDT 2010<<<
******************Dates Class is******************* Start
package com;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Vector;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
import com.tangosol.io.pof.PortableObject;
public class Dates implements PortableObject {
private String fname =null;
private Date fmyDate=null;
private ArrayList fpotentialDates=null;
private Other otherWithDate=null;
public Dates(String fname, Date fmyDate, ArrayList fpotentialDates, Other fothersDate) {
super();
this.fname = fname;
this.fmyDate = fmyDate;
this.fpotentialDates = fpotentialDates;
this.otherWithDate = fothersDate;
public Dates()
public void readExternal(PofReader reader) throws IOException {
fname = reader.readString(0);
fmyDate = reader.readDate(1);
fpotentialDates = (ArrayList<Date>)(reader.readCollection(2, new ArrayList<Date>()));
otherWithDate = (Other)reader.readObject(3);
public void writeExternal(PofWriter writer) throws IOException {
writer.writeString(0, fname);
writer.writeDate(1, fmyDate);
writer.writeCollection(2, fpotentialDates);
writer.writeObject(3, otherWithDate);
* @return the myDate
public Date getMyDate() {
return fmyDate;
* @param myDate the myDate to set
public void setMyDate(Date myDate) {
this.fmyDate = myDate;
* @return the othersDate
public Other getOthersDate() {
return otherWithDate;
* @param othersDate the othersDate to set
public void setOthersDate(Other othersDate) {
this.otherWithDate = othersDate;
* @return the potentialDates
public ArrayList getPotentialDates() {
return fpotentialDates;
* @param potentialDates the potentialDates to set
public void setPotentialDates(ArrayList potentialDates) {
this.fpotentialDates = potentialDates;
public String toString()
StringBuffer lBuffer = new StringBuffer();
lBuffer.append(" Dates.myDate = "+fmyDate+"<<<");
lBuffer.append(" Dates.potentialDates = "+fpotentialDates+"<<<");
lBuffer.append(" Other = "+otherWithDate+"<<<");
return lBuffer.toString();
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((fmyDate == null) ? 0 : fmyDate.hashCode());
result = PRIME * result + ((fname == null) ? 0 : fname.hashCode());
result = PRIME * result + ((otherWithDate == null) ? 0 : otherWithDate.hashCode());
return result;
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Dates other = (Dates) obj;
if (fmyDate == null) {
if (other.fmyDate != null)
return false;
} else if (!fmyDate.equals(other.fmyDate))
return false;
if (fname == null) {
if (other.fname != null)
return false;
} else if (!fname.equals(other.fname))
return false;
if (otherWithDate == null) {
if (other.otherWithDate != null)
return false;
} else if (!otherWithDate.equals(other.otherWithDate))
return false;
return true;
******************Dates Class is******************* End
******************Other Class is******************* Start
package com;
import java.io.IOException;
import java.util.Date;
import com.tangosol.io.pof.PofReader;
import com.tangosol.io.pof.PofWriter;
import com.tangosol.io.pof.PortableObject;
public class Other implements PortableObject {
private String fname =null;
private Date fmyDate=null;
public Other(String fname, Date fmyDate) {
super();
this.fname = fname;
this.fmyDate = fmyDate;
public Other()
public Other(Date myDate) {
super();
this.fmyDate = myDate;
public void readExternal(PofReader reader) throws IOException {
fname = reader.readString(0);
fmyDate = reader.readDate(1);
public void writeExternal(PofWriter writer) throws IOException {
writer.writeString(0, fname);
writer.writeDate(1, fmyDate);
public Date getMyDate() {
return fmyDate;
public void setMyDate(Date myDate) {
this.fmyDate = myDate;
public String toString()
StringBuffer lBuffer = new StringBuffer();
lBuffer.append("Others' myDate:"+fmyDate);
return lBuffer.toString();
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((fmyDate == null) ? 0 : fmyDate.hashCode());
result = PRIME * result + ((fname == null) ? 0 : fname.hashCode());
return result;
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Other other = (Other) obj;
if (fmyDate == null) {
if (other.fmyDate != null)
return false;
} else if (!fmyDate.equals(other.fmyDate))
return false;
if (fname == null) {
if (other.fname != null)
return false;
} else if (!fname.equals(other.fname))
return false;
return true;
public String getFname() {
return fname;
public void setFname(String fname) {
this.fname = fname;
Thanks,
Tarun
Edited by: user1228154 on Mar 31, 2010 8:54 PMDave,
Thanks for your reply, I had put a work around by converting to long during read/write of dates to POF Stream.
Using ReadRawDate too , I will ultimately need to convert back to Java Date as caller's of the class consume Java Date.
Please advise if there are any pros/cons of using readLong Vs readRawDate.
Regards,
Tarun Jindal -
How to put the data into cache and distribute to nodeusing oracle coherence
Hi Friends,
i am having some random number data writing into file,from that file i am reading the data and i want to put into cache,how can i put the data into cache and partition this data into different nodes ( machines) to caluculate like S.D,variance..etc..like that.(or how can i implement montecarlo using oracle coherence) if any one know plz suggest me with flow.
Thank you.
regards
chandraHi robert,
i have some bulk data in some arraylist or object format,i want to put into cache.
i am not able to put into cache.i am using put method like cache.put(object key ,object value) ,but its not allowing to put into cache.
can you please help me.i m sending my code.plz go thru and tel me whr i did mistake.
package lab3;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
import com.tangosol.net.cache.NearCache;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import javax.naming.Name;
public class BlockScoleData {
* @param args
* s=The spot market price
* x=the exercise price of the option
* v=instantaneous standard deviation of s
* r=risk free instantaneous rate of interest
* t= time to expiration of the option
* n – Number of MC simulations.
private static String outputFile = "D:/cache1/sampledata2.txt";
private static String inputFile = "D:/cache1/sampledata2.txt";
NearCache cache;
List<Credit> creditList = new ArrayList<Credit>();
public void writeToFile(int noofsamples) {
Random rnd = new Random();
PrintWriter writer = null;
try {
writer = new PrintWriter(outputFile);
for (int i = 1; i <= noofsamples; i++) {
double s = rnd.nextInt(200) * rnd.nextDouble();
//double x = rnd.nextInt(250) * rnd.nextDouble();
int t = rnd.nextInt(5);
double v = rnd.nextDouble() ;
double r = rnd.nextDouble() / 10;
//int n = rnd.nextInt(90000);
writer.println(s + " " + t + " " + v + " "
+ r );
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
writer.close();
writer = null;
public List<Credit> readFromFile() {
Scanner scanner = null;
Credit credit = null;
// List<Credit> creditList = new ArrayList<Credit>();
try {
scanner = new Scanner(new File(inputFile));
while (scanner.hasNext()) {
credit = new Credit(scanner.nextDouble(), scanner.nextInt(),
scanner.nextDouble(), scanner.nextDouble());
creditList.add(credit);
System.out.println("read the list from file:"+creditList);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
scanner.close();
credit = null;
scanner = null;
return creditList;
// public void putCache(String cachename,List<Credit> list){
// cache = CacheFactory.getCache ( "VirtualCache");
// List<Credit> rand = new ArrayList<Credit>();
public Object put(Object key, Object value){
cache = (NearCache)CacheFactory.getCache("mycache");
String cachename = cache.getCacheName();
List<Credit> cachelist=new ArrayList<Credit>();
// Object key;
//cachelist = (List<Credit>)cache.put(creditList,creditList);
cache.put(creditList,creditList);
System.out.println("read to the cache list from file:"+cache.get(creditList));
return cachelist;
public static void main(String[] args) throws Exception {
NearCache cache = (NearCache)CacheFactory.getCache("mycache");
new BlockScoleData().writeToFile(20);
//new BlockScoleData().putCache("Name",);
System.out
.println("New file \"myfile.csv\" has been created to the current directory");
CacheFactory.ensureCluster();
new BlockScoleData().readFromFile();
System.out.println("data read from file successfully");
List<Credit> creditList = new ArrayList<Credit>();
new BlockScoleData().put(creditList,creditList);
System.out.println("read to the cache list from file:"+cache.get(creditList));
//cache=CacheFactory.getCache("mycache");
//mycacheput("Name",new BlockScoleData());
// System.out.println("name of cache is :" +mycache.getCacheName());
// System.out.println("value in cache is :" +mycache.get("Name"));
// System.out.println("cache services are :" +mycache.getCacheService());
regards
chandra -
Hi,
I’m using coherence(V3.6.1) with POF serialization in ADF web application. I have setup local coherence server node and Jdev integrated webcenter server in my local system(windows 7 OS), the application works perfectly when I run in local Jdeveloper integrated server. But when I deploy the application on dev environment ( standalone webcenter spaces server v11G on Unix OS) we are getting exception “(Wrapped) java.io.NotSerializableException: com.enbridge.co.ux.coherence.pojos.CommodityPojo”
It seems that POF is not configured properly on the standalone webcenter (spaces) server, please help finding out the solution for this issue. On standalone webcenter spaces server is there any extra configurations we have to do?
The error logs and configuration filess I have used:
1. Exception logs:
<14-Jun-2013 3:43:04 o'clock AM MDT> <Error> <HTTP> <BEA-101216> <Servlet: "MMFBootStrapServlet" failed to preload on startup in Web application: "MMFUIPortal-Portal-context-root".
(Wrapped) java.io.NotSerializableException: com.enbridge.co.ux.coherence.pojos.CommodityPojo
at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:215)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ConverterValueToBinary.convert(PartitionedCache.CDB:3)
at com.tangosol.util.ConverterCollections$ConverterMap.put(ConverterCollections.java:1578)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ViewMap.put(PartitionedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.put(SafeNamedCache.CDB:1)
Truncated. see log file for complete stacktrace
Caused By: java.io.NotSerializableException: com.enbridge.co.ux.coherence.pojos.CommodityPojo
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.GeneratedMethodAccessor983.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Truncated. see log file for complete stacktrace
2. 2. tangosol-coherence-override.xml:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/ coherence-operational-config coherence-operational-config.xsd">
<cluster-config>
<member-identity>
<cluster-name>mmf_Coh_Cluster</cluster-name>
</member-identity>
<multicast-listener>
<address>224.3.6.0</address>
<port>60001</port>
<time-to-live>0</time-to-live>
</multicast-listener>
<serializers>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value system-property="pof.config">mmfui-pof-config.xml</param-value>
</init-param>
</init-params>
</serializer>
</serializers>
</cluster-config>
<configurable-cache-fact0ry-config>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value system-property="tangosol.coherence.cacheconfig">mmfui-cache-config.xml</param-value>
</init-param>
</init-params>
</configurable-cache-fact0ry-config>
</coherence>
3. mmfui-cache-config.xml
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<defaults>
<serializer>pof</serializer>
</defaults>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>mmfcache</cache-name>
<scheme-name>ExamplesPartitionedPofScheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>ExamplesPartitionedPofScheme</scheme-name>
<service-name>PartitionedPofCache</service-name>
<serializer>
<instance>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>String</param-type>
<param-value system-property="pof.config">mmfui-pof-config.xml</param-value>
</init-param>
</init-params>
</instance>
</serializer>
<backing-map-scheme>
<local-scheme>
<!-- each node will be limited to 250MB -->
<high-units>250M</high-units>
<unit-calculator>binary</unit-calculator>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>
4. mmfui-pof-config.xml
<?xml version="1.0"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<!-- coherence POF user types -->
<include>coherence-pof-config.xml</include>
<!-- com.tangosol.examples package -->
<user-type>
<type-id>1001</type-id>
<class-name>com.enbridge.co.ux.coherence.pojos.CommodityPojo</class-name>
</user-type>
</user-type-list>
</pof-config>
5. ~-cache-server.sh file on coherence distribution
COHERENCE_HOME=/u01/app/oracle/product/fmw11g/coherence_3.6
JAVA_HOME=/usr/java/jdk1.6.0_24
PATH=$PATH:$JAVA_HOME/bin
CONFIG_HOME=/u01/app/oracle/product/fmw11g/coherence_3.6/mmfconfig
# specify the JVM heap size
MEMORY=512m
if [ ! -f ${COHERENCE_HOME}/bin/cache-server.sh ]; then
echo "coherence.sh: must be run from the Coherence installation directory."
exit
fi
if [ -f $JAVA_HOME/bin/java ]; then
JAVAEXEC=$JAVA_HOME/bin/java
else
JAVAEXEC=java
Fi
COH_OPTS=$COH_OPTS -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.cluster=mmf_Coh_Cluster -Dtangosol.coherence.clusterport=60001 -Dtangosol.coherence.clusteraddress=224.3.6.0 -Dtangosol.coherence.cacheconfig=~/mmfui-cache-config.xml
JAVA_OPTS="-Xms$MEMORY -Xmx$MEMORY -Dtangosol.pof.enabled=true -Dtangosol.pof.config=~/mmfui-pof-config.xml"
$JAVAEXEC $COH_OPTS -server -showversion $JAVA_OPTS -cp "$COHERENCE_VAR:$CONFIG_HOME:$COHERENCE_HOME/lib/coherence.jar:$COHERENCE_HOME/lib/coherence-common-1.5.0.jar:pojoClasses.jar" com.tangosol.net.DefaultCacheServer $1
6.COHERENCE_PROPERTIES variable added in setDomainEnv.sh file:
COHERENCE_PROPERTIES=-Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.clusteraddress=224.3.6.0 -Dtangosol.coherence.clusterport=60001 -Dtangosol.coherence.cluster=mmf_Coh_Cluster -Dtangosol.coherence.override=~/tangosol-coherence-override.xml -Dtangosol.coherence.cacheconfig=~/mmfui-cache-config.xml -Dpof.config=~/ mmfui-pof-config.xml
JAVA_PROPERTIES=-Dplatform.home=${WL_HOME} -Dwls.home=${WLS_HOME} -Dweblogic.home=${WLS_HOME} ${COHERENCE_PROPERTIES}does the below class implement java.io.Serializable
com.enbridge.co.ux.coherence.pojos.CommodityPojo
if not implement serializable -
Oracle Coherence*Web and BlazeDS: Multiple FlexSessions created for the same HttpSession
Hi all,
I have searched this forum and found a lot of good information from Alex Glosband and others about the infamous "Detected duplicate HTTP - based FlexSessions, generally due to the remote host disabling session cookies. Session coolkies must be enable to manage the client connection correctly." message.
It seems, however, none of the cases are identical to ours. This is ours:
- Resin 3.1.9
- Oracle Coherence 3.7.1 with Coherence*Web (session replication)
With this setup we get the "Detected duplicate HTTP..." message on the first attempt to use BlazeDS and on every subsequent call. The same client and server code works fine in a local sessions setup. With Coherence 3.3 (currently our production environment) it seems to occur less frequently, but still as frequent as it is a major issue for us. It fails even with a single node using in-process distributed caching in our test setup (as well as with multi node out of process caching in our staging environment, for Coherence knowledgeable the resin app server runs with tangosol.coherence.session.localstorage=true in the first case and false in the second).
Both the listener and message broker are mapped as "Coherence aware" in web.xml[1] so that they should use clustered sessions.
We have been digging a bit and we found out that if we commented out lines 427 and 434 of flex.messaging.endpoints.BaseHTTPEndpoint from version 4.0.0.14931 it seems to mask the bug. We added some logging in the setupFlexClient method and it seems that we get more or less a new FlexSession for each and every call - but they have the same cookie and thus underlying HttpSession. I.e. the list returned from flexClient.getFlexSessions() keeps growing. Thus we are not so keen on going to production with that memory leak and the above mentioned ugly hack of commenting out the detection of duplicates.
We use request scope for the remote object, but could in theory use any scope as we do not really have any state on the object itself, it is all HttpSession state and return values that are key (logon is performed prior to doing the first blaze call, in pure forms and ajax, and it is not a timing issue in that regard we are seeing).
Hope someone can shed some light on what can be happening. Is there any "reference testing"[2] or something when the FlexSessions are created that makes them being created as new? Where are they created? We do not know the inner workings of the BlazeDS source, we just watched the call trace of the unwanted invalidation and found that to be line 427 of flex.messaging.endpoints.BaseHTTPEndpoint.
Can we disable FlexSessions? Since the flex and plain html parts of the app share the sessions, we always use FlexContext.getHttpRequest().getSession() anyway, never storing any state directly in the FlexSession or on the remote object. Or maybe there is a config option to help us with this detection (or creation) of multiple FlexSessions?
Cheers and TIA,
-S-
[1] - For instance, this i the message broker servlet def:
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<display-name>MessageBrokerServlet</display-name>
<servlet-class>com.tangosol.coherence.servlet.api22.ServletWrapper</servlet-class>
<init-param>
<param-name>coherence-servlet-class</param-name>
<param-value>flex.messaging.MessageBrokerServlet</param-value>
</init-param>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
[2] - As you undertstand this is speculation based on pure air, but it could be that in Coherence there was a serialization/deserialization happening somehow that would break such a test?Just a quick update, it seems things are running in a stable fashion (and without visible memory leaks, just keeping the latest FlexSession) with these changes in BaseHTTPEndpoint:
* Overrides to guard against duplicate HTTP-based sessions for the same FlexClient which will occur if the remote host has disabled session
* cookies.
* @see AbstractEndpoint#setupFlexClient(String)
@Override
public FlexClient setupFlexClient(String id) {
log.debug("setupFlexClient start id " + id);
FlexClient flexClient = super.setupFlexClient(id);
// Scan for duplicate HTTP-sessions and if found, invalidate them and throw a MessageException.
// A request attribute is used to deal with batched AMF messages that arrive in a single request by trigger multiple passes through this
// method.
boolean duplicateSessionDetected = (FlexContext.getHttpRequest().getAttribute(REQUEST_ATTR_DUPLICATE_SESSION_FLAG) != null);
if (!duplicateSessionDetected) {
List<FlexSession> sessions = flexClient.getFlexSessions();
log.debug("Client has " + sessions.size() + " sessions.");
int n = sessions.size();
if (n > 1) {
int count = 0;
for (int i = 0; i < n; i++) {
if (sessions.get(i) instanceof HttpFlexSession)
count++;
if (count > 1) {
FlexContext.getHttpRequest().setAttribute(REQUEST_ATTR_DUPLICATE_SESSION_FLAG, Boolean.TRUE);
duplicateSessionDetected = true;
break;
// If more than one was found, remote host isn't using session cookies. Kill all duplicate sessions and return an error.
// Simplest to just re-scan the list given that it will be very short, but use an iterator for concurrent modification.
int i = 0;
if (duplicateSessionDetected) {
List<FlexSession> sessions = flexClient.getFlexSessions();
log.debug("Detected sessions from client: " + sessions);
for (FlexSession session : sessions) {
if (session instanceof HttpFlexSession && i < sessions.size()) {
// log.debug("----> sessionId: " + session.getId());
// Enumeration e1 = session.getAttributeNames();
// while (e1.hasMoreElements()) {
// Object key = e1.nextElement();
// log.debug("--------->" + key + "--------->" + session.getAttribute((String) key));
// session.invalidate();
flexClient.sessionDestroyed(session);
i++;
// Return an error to the client.
// DuplicateSessionException e = new DuplicateSessionException();
// e.setMessage(ERR_MSG_DUPLICATE_SESSIONS_DETECTED);
// throw e;
return flexClient;
It is not exactly beautiful (to say the least), but if it does the trick I might just be pragmatic enough to go with it... NB: I am of course not proposing this as a patch to this file or anything, it is just an ugly hack for our specific case, but maybe the information can help the BlazeDS team find the root cause making it incompatible with Coherence*Web.
Will give it a test run on our staging servers. -
Why the Oracle Coherence can not run successsfully?
Why the Oracle Coherence can not run successsfully?
When I run the costomized cache-server.cmd file, the following error message shows up:
C:\coherence\examples\java> *contacts-cache-server.cmd*
2009-10-22 10:57:10.609/0.563 Oracle Coherence 3.5.2/463 <Info> (thread=main, member=n/a): Loaded operational configur
ion from resource "jar:file:/C:/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2009-10-22 10:57:10.624/0.578 Oracle Coherence 3.5.2/463 <Info> (thread=main, member=n/a): Loaded operational override
from resource "jar:file:/C:/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2009-10-22 10:57:10.624/0.578 Oracle Coherence 3.5.2/463 <D5> (thread=main, member=n/a): Optional configuration overri
"/tangosol-coherence-override.xml" is not specified
2009-10-22 10:57:10.624/0.578 Oracle Coherence 3.5.2/463 <D5> (thread=main, member=n/a): Optional configuration overri
"/custom-mbeans.xml" is not specified
Oracle Coherence Version 3.5.2/463
Grid Edition: Development mode
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
2009-10-22 10:57:11.062/1.016 Oracle Coherence GE 3.5.2/463 <Info> (thread=main, member=n/a): Loaded cache configurati
from "file:/C:/home/oracle/coherence/Contacts/contacts-cache-config.xml"
2009-10-22 10:57:12.078/2.032 Oracle Coherence GE 3.5.2/463 <D5> (thread=Cluster, member=n/a): Service Cluster joined
e cluster with senior service member n/a
2009-10-22 10:57:15.328/5.282 Oracle Coherence GE 3.5.2/463 <Info> (thread=Cluster, member=n/a): Created a new cluster
cluster:0xD3FB" with Member(Id=1, Timestamp=2009-10-22 10:57:11.734, Address=192.168.16.83:8088, MachineId=30803, Loca
on=site:metsys.metex.com,machine:NECu10,process:3820, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, Cp
ount=4, SocketCount=4) UID=0xC0A81053000001247CC05C3678531F98
2009-10-22 10:57:15.375/5.329 Oracle Coherence GE 3.5.2/463 <D5> (thread=Invocation:Management, member=1): Service Man
ement joined the cluster with senior service member 1
2009-10-22 10:57:15.875/5.829 Oracle Coherence GE 3.5.2/463 <D5> (thread=DistributedCache:PartitionedPofCache, member=
: Service PartitionedPofCache joined the cluster with senior service member 1
2009-10-22 10:57:15.890/5.844 Oracle Coherence GE 3.5.2/463 <Info> (thread=DistributedCache:PartitionedPofCache, membe
1): Loading POF configuration from resource "file:/C:/home/oracle/coherence/Contacts/classes/contacts-pof-config.xml"
2009-10-22 10:57:15.906/5.860 Oracle Coherence GE 3.5.2/463 <Error> (thread=DistributedCache:PartitionedPofCache, memb
=1): Terminating DistributedCache due to unhandled exception: com.tangosol.util.WrapperException
2009-10-22 10:57:15.906/5.860 Oracle Coherence GE 3.5.2/463 <Error> (thread=DistributedCache:PartitionedPofCache, memb
=1):
(Wrapped) (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to parse PO
configuration (Config=contacts-pof-config.xml)) java.io.IOException: Exception occurred during parsing: looking for id
, found id=3((0,0,65) Character Data Literal {\rtf1\ansi\ansicpg1252\deff0\deflang4105{\fonttbl{\f0\fmodern\fcharset0
urier;}{\f1\fmodern\fcharset0 Courier-Bold;}{\f2\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\f0\fs18 )
at com.tangosol.coherence.Component._newChild(Component.CDB:47)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onServiceStarted(
stributedCache.CDB:99)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onServiceState(Grid.CDB:23)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.setServiceState(Service.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.setServiceState(Grid.CDB:21)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$NotifyStartup.onReceived(Grid.CDB:
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(Distribu
dCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Unknown Source)
Caused by: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") (Wrapped: Failed to parse P
configuration (Config=contacts-pof-config.xml)) java.io.IOException: Exception occurred during parsing: looking for i
9, found id=3((0,0,65) Character Data Literal {\rtf1\ansi\ansicpg1252\deff0\deflang4105{\fonttbl{\f0\fmodern\fcharset0
ourier;}{\f1\fmodern\fcharset0 Courier-Bold;}{\f2\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\f0\fs18 )
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:49)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.instantiateFromBi
ryConverter(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BackingMapContext
etClassLoader(DistributedCache.CDB:6)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BackingMapContext
nInit(DistributedCache.CDB:2)
at com.tangosol.coherence.Component._newChild(Component.CDB:41)
... 10 more
Caused by: (Wrapped: Failed to parse POF configuration (Config=contacts-pof-config.xml)) java.io.IOException: Exceptio
occurred during parsing: looking for id=9, found id=3((0,0,65) Character Data Literal {\rtf1\ansi\ansicpg1252\deff0\de
ang4105{\fonttbl{\f0\fmodern\fcharset0 Courier;}{\f1\fmodern\fcharset0 Courier-Bold;}{\f2\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\f0\fs18 )
at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
at com.tangosol.io.pof.ConfigurablePofContext.report(ConfigurablePofContext.java:1311)
at com.tangosol.io.pof.ConfigurablePofContext.createPofConfig(ConfigurablePofContext.java:812)
at com.tangosol.io.pof.ConfigurablePofContext.initialize(ConfigurablePofContext.java:762)
at com.tangosol.io.pof.ConfigurablePofContext.setContextClassLoader(ConfigurablePofContext.java:325)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:45)
... 14 more
Caused by: java.io.IOException: Exception occurred during parsing: looking for id=9, found id=3((0,0,65) Character Dat
Literal {\rtf1\ansi\ansicpg1252\deff0\deflang4105{\fonttbl{\f0\fmodern\fcharset0 Courier;}{\f1\fmodern\fcharset0 Couri
-Bold;}{\f2\fswiss\fcharset0 Arial;}}....
{code}
The content of the contacts-cache-server.cmd file is shown here under:
(its location is C:\coherence\examples\java
{code}@echo off
setlocal
if (%COHERENCE_HOME%)==() (
set COHERENCE_HOME=c:\coherence
set CONFIG=C:\home\oracle\coherence\Contacts
set COH_OPTS=%COH_OPTS% -server -cp %COHERENCE_HOME%\lib\coherence.jar;C:\home\oracle\coherence\Contacts\classes
set COH_OPTS=%COH_OPTS% -Dtangosol.coherence.cacheconfig=%CONFIG%\contacts-cache-config.xml
java %COH_OPTS% -Xms1g -Xmx1g -Xloggc: com.tangosol.net.DefaultCacheServer %2 %3 %4 %5 %6 %7
:exit{code}
The contents of the contacts-cache-config.xml file is shown here under:
(its location is C:\home\oracle\coherence\Contacts
{code}<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
<caching-scheme-mapping>
<cache-mapping>
<cache-name>*</cache-name>
<scheme-name>ExamplesPartitionedPofScheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<distributed-scheme>
<scheme-name>ExamplesPartitionedPofScheme</scheme-name>
<service-name>PartitionedPofCache</service-name>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>String</param-type>
<param-value>contacts-pof-config.xml</param-value>
</init-param>
</init-params>
</serializer>
<backing-map-scheme>
<local-scheme>
<!-- each node will be limited to 250MB -->
<high-units>250M</high-units>
<unit-calculator>binary</unit-calculator>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>{code}
The contents of the contacts-pof-config.xml file is shown here under:
{code}
<?xml version="1.0"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<!-- coherence POF user types -->
<include>coherence-pof-config.xml</include>
<!-- com.tangosol.examples package -->
<user-type>
<type-id>1002</type-id>
<class-name>com.tangosol.examples.model.Contact</class-name>
</user-type>
<user-type>
<type-id>1003</type-id>
<class-name>com.tangosol.examples.model.Address</class-name>
</user-type>
<user-type>
<type-id>1004</type-id>
<class-name>com.tangosol.examples.model.Phone</class-name>
</user-type>
</user-type-list>
<allow-interfaces>true</allow-interfaces>
<allow-subclasses>true</allow-subclasses>
</pof-config> {code}I have saved it as a XML documetent. it this OK?
What the following error message shows us?
Caused by: (Wrapped: error configuring class "com.tangosol.io.pof.ConfigurablePofContext") java.lang.UnsupportedClassVer
sionError: Bad version number in .class file
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:49)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.instantiateFromBina
ryConverter(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BackingMapContext.s
etClassLoader(DistributedCache.CDB:6)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$BackingMapContext.o
nInit(DistributedCache.CDB:2)
at com.tangosol.coherence.Component._newChild(Component.CDB:41)
... 10 more
Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.tangosol.util.ExternalizableHelper.loadClass(ExternalizableHelper.java:2969)
at com.tangosol.io.pof.ConfigurablePofContext.loadClass(ConfigurablePofContext.java:1215)
at com.tangosol.io.pof.ConfigurablePofContext.createPofConfig(ConfigurablePofContext.java:973)
at com.tangosol.io.pof.ConfigurablePofContext.initialize(ConfigurablePofContext.java:762)
at com.tangosol.io.pof.ConfigurablePofContext.setContextClassLoader(ConfigurablePofContext.java:325)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.ensureSerializer(Service.CDB:45)
... 14 more
2009-10-22 17:24:14.995/2.922 Oracle Coherence GE 3.5.2/463 <D4> (thread=ShutdownHook, member=2): ShutdownHook: stopping
cluster nodeEdited by: junez on 22-Oct-2009 14:30 -
Hi,
I have one application already using Oracle coherence situated on server X.
My other application is situated on server Y.
cache hold around 1 million records.
I want to use cache in my application on server Y , and it should be in synch with cache on server X.
It can be updated on timely basis.
what could be efficient way to achieve this ?Can you use coherence in server Y? If so, consider using near cache with local cache as a front map and correct invalidation strategy. It will cache only subset of records while allow server Y to get updated cached entries as the objects in server X change. http://coherence.oracle.com/display/COH34UG/Near+Cache
-
We are migrating from incubator 11.x to 12.2.0.
I noticed that com.oracle.coherence.environment.extensible.ExtensibleEnvironment is not available anymore.
We used it to load custom cache configs filenames based on standard coherence environment properties.
Something like:
If local storage enabled
load cache-config-a.xml
else
locad cache-config-b.xml
Setting factory and getting cache was like:
ConfigurableCacheFactory fctry = new ExtensibleEnvironment(cacheConfigName, this.getClass().getClassLoader());
NamedCache namedCache = fctry.ensureCache(myCacheName, this.getClass().getClassLoader());
This allowed us to have auto-discovery of cache config filename on client side (thus minimizing JVM settings and simplifying dev environment setup). Note that we are not using GARs on either client side or Coherence server side.
What would be the simplest alternative with Coherence 12.1.2 / incubator 12.2 without the com.oracle.coherence.environment.extensible.ExtensibleEnvironment class?
Tks
Message was edited by: 962259Here is the alternative I found:
// Let's say I want to programmatically load custom named cache-config-a.xml and pof-config-a.xml
XmlElement xmlConfig = XmlHelper.loadFileOrResource("cache-config-a.xml", (new StringBuilder()).append("Cache Configuration from:").append(defaultCacheConfigFilename).toString(), null);
ExtensibleConfigurableCacheFactory.Dependencies coherenceDependencies = ExtensibleConfigurableCacheFactory.DependenciesHelper.newInstance(xmlConfig, null, "pof-config-a.xml");
ConfigurableCacheFactory fctry = new ExtensibleConfigurableCacheFactory(coherenceDependencies);
NamedCache namedCache = fctry.ensureCache(myCacheName, this.getClass().getClassLoader()); -
We have Oracle 10g RAC on linux supporting J2 application .
What is the relevance / value addition of "Oracle Coherence " to this app / database ?Coherence is typically used in one of three ways :
1) As a cache used to offload an overloaded database server. This is primarily of value if the database server is overloaded, though in some cases caching can reduce significantly CPU usage in the application tier by avoiding client-side result set fetching and the corresponding transformation from relational to object form.
2) As a manager of application state such as HTTP sessions (via the provided Coherence*Web). Any application server could theoretically leverage Coherence to manage other state such as EJBs, but I'm not certain how many do so (as this would require code changes in the application server itself). As Rob mentioned, you could contact your provider. The symptom addressed here is usually scalability issues in the middle-tier itself.
3) As a programmatic framework, useful to solve problems that aren't readily solvable in a conventional RDBMS. This is a broader and more sophisticated problem domain, but usually it involves either needing more programmatic control than the RDBMS environment provides (e.g. a custom concurrency control strategy), or needing to bring together large numbers of CPUs and large amounts of data (e.g. large compute grids). Unlike the first two use cases, this typically requires a significant investment in code changes to the application. This is also the most common use case for Coherence.
In general, if you have no pain points in your current configuration then there is probably no reason to consider Coherence. If you have latency or throughput challenges that appear to be related to data/state, then it may be worth looking at using it in one of the above styles.
Jon Purdy
Oracle -
While generating reports in Oracle BI Publisher in pdf format, the generated pdf reports have hindi इ matra displaced by one character. For example, रिपोर्ट is printed as रपेिोरट. Word file generated of the same report have correct hindi इ matra position and also pdf generated from this word file also contains the same.
Maybe you are looking for
-
Difference between servlet and ActionServlet
Difference between servlet and ActionServlet.. Anybody reply
-
IPod Nano not recognized by itunes
I just purchased my Ipod nano. When I connected it initialy I was prompted to udate the software on it. Since then my computer reckognizes it as e:drive but when I try to use itunes or ipod updater it tells me to please conect an ipod when my ipod is
-
On my Macbook Pro, whenever I turn Bluetooth on, it immediately connects to a powered-down device. If I click "Disconnect", nothing happens. When I turn the device back on, I am unable to re-pair with the actual device. This image shows Bluetooth c
-
How to reinstall safari on macbook air?, how to reinstall safari on macbook air?
I am having problems with safari 6.05 on my MacBook Air. The address window is not displaing correctly and it takes unuassly long time for websites to load. I thaught deleting and reisntalling Safari would be the obvious and easy option. But from i
-
Searching for single words in Solr
I have a Win2k8 Standard 64 bit install of CF9.0.1. I have simple PDF document containing two words, "Seattle" and "Seahawks". If I search for "Seattle", I get 0 results. If I search for "Seattle Seahawks", I get the one result I expected. What c