前段时间,提供出去的hessian接口被调用时,调用方出现序列化异常以及其他莫名的异常。同事说hessian接口使用有2个注意事项:
1、对于已经存在的hessian接口,后续增加的方法只能加在文件末尾
2、方法参数中,尽可能少用组合对象(尽管他们都是可序列化的)
对这2个疑问,我一直心存疑虑,故而实战求解。因为没什么好上代码的,仅仅给出验证结论。
1、hessian接口类,对于调用方,不必按其顺序来,且package也没做限制
2、方法参数中,如果有自定义实体对象entity,则有以下几注意点:
a entity的package名必须同服务器上的package,否则会在服务端上报找不到此类
b entity必须是可序列化的,如果是组合对象,则可序列化应该可递归下去,除非不需要组合
3、方法返回值中,如果有自定义对象,同2,如果是集合对象,则为List(lists and arrays) & map(maps and dictionaries)