我在我的应用程序中使用Kryo 1.03版本。我在Kryo中使用FeildSerializer类在我的应用程序中注册POJO。我的应用程序在后端使用Applet作为GUI和servlet,并部署在Weblogic10.3服务器上
启动应用程序时,我们会将所有jar从服务器下载到客户端。在这种情况下,我们使用FeildSerializer来注册POJO类。我在Apache的access.log文件中看到以下错误行。
kryo.register(CurrencyStruct.class,new FieldSerializer(kryo,CurrencyStruct.class));
“GET CurrencyStructFieldAccess.class HTTP / 1.1”404 262
Applet正在尝试搜索CurrencyStructFieldAccess.class并且无法找到该类并且正在调用GET请求来调用服务器上的上述类。
由于上述问题,我们在启动时会收到一个带有安全性异常的弹出窗口。 有人可以帮我解决Applet没有为指定的类调用服务器端的问题,以及如何动态生成这个特定的类(* FieldAccess.class)。
答案 0 :(得分:1)
不确定其他问题,但FieldAccess是使用ReflectASM库生成的,用于执行比默认反射访问更高效的字段/方法访问:它可以使用字节代码生成生成XxxFieldAccess和XxxMethodAccess类。这可能使Kryo非常有效地进行序列化和反序列化。
如果代码在applet上运行,问题是生成的类必须与自定义类加载器一起使用;这必须得到安全经理的许可。