首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jboss memcacehd kryo flex

jboss memcacehd kryo flex
EN

Stack Overflow用户
提问于 2013-05-08 13:09:02
回答 1查看 177关注 0票数 0

我有一个jboss 5.1,我正在尝试使用memcached和kryo序列化来实现会话复制。一切都很好,但我的应用程序中有一个页面,它的左侧有一些flex功能。当我在GUI中单击此页面时,kryo序列化失败,并显示以下堆栈跟踪:

代码语言:javascript
复制
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)

我已经被困了很多天了,无法解决这些问题。请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2013-11-22 15:40:47

要序列化您的HTTPSession,您需要序列化HttpFlexSession,而它可能是不可序列化的(或者您正在通过禁用serializable对象上的序列化来使用严格的kryo配置)。

您应该向kryo提供一个类来序列化HttpFlexSession:

代码语言:javascript
复制
Kryo kryo = new Kryo();
kryo.register(HttpFlexSession.class, new HttpFlexSessionSerializer(kryo));

然后你需要实现应该扩展序列化的HttpFlexSessionSerializer.java,然后你应该能够用kryo来序列化你的flex会话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16433088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档