2013-05-08 2 views
0

나는 memcached 및 kryo serialization을 사용하여 세션 복제를 구현하려고하는 jboss 5.1을 사용하고 있습니다. 모든 것은 잘 작동하지만, 왼쪽에는 플렉스 기능이있는 응용 프로그램이있는 페이지가 있습니다. 내가 GUI에서이 페이지를 클릭하면, 다음과 같은 스택 추적과 직렬화도 실패한 kryo : 지금이 아니라 여러 날 동안 문제를 해결할 수 붙어있다jboss memcacehd kryo flex

Caused by: com.esotericsoftware.kryo.SerializationException: Unable to serialize object of type: flex.messaging.HttpFlexSession 
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:493) 
    at com.esotericsoftware.kryo.serialize.MapSerializer.writeObjectData(MapSerializer.java:104) 
    at de.javakaffee.kryoserializers.CopyForIterateMapSerializer.writeObjectData(CopyForIterateMapSerializer.java:56) 
    at com.esotericsoftware.kryo.Serializer.writeObject(Serializer.java:43) 
    at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:520) 
    ... 23 more 
Caused by: com.esotericsoftware.kryo.SerializationException: Unable to serialize object of type: flex.messaging.SessionMetricsTracker 
Serialization trace: 
destroyedListeners (flex.messaging.HttpFlexSession) 
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:493) 
    at com.esotericsoftware.kryo.serialize.CollectionSerializer.writeObjectData(CollectionSerializer.java:86) 
    at de.javakaffee.kryoserializers.CopyForIterateCollectionSerializer.writeObjectData(CopyForIterateCollectionSerializer.java:46) 
    at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175)at com.esotericsoftware.kryo.serialize.ReferenceFieldSerializer.writeObjectData(ReferenceFieldSerializer.java:52) 
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489) 
    Caused by: com.esotericsoftware.kryo.SerializationException: Unable to serialize object of type: org.jboss.mx.notification.ListenerRegistry 
Serialization trace: 
registries (org.jboss.mx.notification.MBeanServerListenerRegistry) 
listeners (org.jboss.mx.server.MBeanServerImpl) 
mbeanServer (org.jboss.classloader.spi.ClassLoaderDomain) 
domain (org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy) 
delegate (org.jboss.classloader.spi.DelegateLoader) 
loader (org.jboss.classloader.spi.base.BaseClassLoader) 
classLoader (flex.messaging.MessageBroker) 
messageBroker (flex.messaging.SessionMetricsTracker) 
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:493) 

. 도와주세요

답변

0

HTTPSession을 직렬화하려면 HttpFlexSession을 직렬화해야하며 직렬화 할 수 없거나 직렬화 가능 객체에서 직렬화를 비활성화하여 엄격한 kryo 구성을 사용하고있는 것일 수 있습니다.

당신은 HttpFlexSession를 직렬화하는 클래스를 kryo에 제공해야

Kryo kryo = new Kryo(); 
kryo.register(HttpFlexSession.class, new HttpFlexSessionSerializer(kryo)); 

은 그럼 당신은 시리얼은 다음 kryo로 플렉스 세션을 직렬화 할 수 있어야 확장해야 HttpFlexSessionSerializer.java를 구현해야합니다.

관련 문제