Java에서 언어 경계를 넘기 위해서는 직렬화 할 클래스가 DataSerializable 인터페이스를 구현해야합니다. deserializer가 어떤 클래스인지를 C#에 알리려면 classID를 등록해야합니다.GemFire : Java에서 객체를 직렬화 한 다음 c로 역 직렬화합니다.
이public class Stuff implements DataSerializable{
static { // note that classID (7) must match C#
Instantiator.register(new Instantiator(Stuff.class,(byte)0x07) {
@Override
public DataSerializable newInstance() {
return new Stuff();
}
});
}
private Stuff(){}
public boolean equals(Object obj) {...}
public int hashCode() {...}
public void toData(DataOutput dataOutput) throws IOException {...}
public void fromData(DataInput dataInput) throws IOException, ClassNotFoundException { ...}
}
괜찮아 보이지만 내가 그것을 실행할 때 나는이 예외가 : 예에 따라, 나는 다음과 같은 자바에서 내 클래스를 작성
[2012년 3월 30일 15시 6분 경고 : 풀 인스 등록 00.239 JST의 TID = 0x1로] 오류 : com.gemstone.gemfire.cache.client.ServerOperationException : 는 com.gemstone.gemfire.cache.client.internal.AbstractOp.processAck에서 원격 registerInstantiators을 수행하는 동안 (AbstractOp.java:247) at com.gemstone.g 닷컴에서 com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse (AbstractOp.java:163) 에서 emfire.cache.client.internal.RegisterInstantiatorsOp $ RegisterInstantiatorsOpImpl.processResponse (RegisterInstantiatorsOp.java:76) . gemstone.gemfire.cache.client.internal.AbstractOp.attempt 닷컴에서 com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute (ConnectionImpl.java:229) 에서 (AbstractOp.java:363). gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication (OpExecutorImpl.java:646)에서 (PooledConnection.java:321) 012에서 3,516,com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute com.gemstone.gemfire.cache.client.internal.PoolImpl.execute (PoolImpl.java:624)에서 (OpExecutorImpl.java:108)에서 에서 com.gemstone.gemfire.cache.client.internal.RegisterInstantiatorsOp.execute com.gemstone.gemfire.internal.cache.PoolManagerImpl.allPoolsRegisterInstantiator (PoolManagerImpl.java:216)에서 (RegisterInstantiatorsOp.java:39) 닷컴 .gemstone.gemfire.internal.InternalInstantiator.sendRegistrationMessageToServers (InternalInstantiator.java:188) at com.gemstone.gemfire.internal.InternalInstantiator._register (InternalInstantiator.java:143) 에 012 3,516,com.gemstone.gemfire.internal.InternalInstantiator.register 재료에 (InternalInstantiator.java:71) com.gemstone.gemfire.Instantiator.register (Instantiator.java:168)에서 . (Stuff.java)
원인 : java.lang.ClassNotFoundException : Stuff $ 1
나는 이유를 알 수 없었는데 경험이있는 사람이 누구인가? 미리 감사드립니다!
더 많은 코드 예제를 제공 할 수 있습니까? – Avinash