RMI的这种错误是什么意思?怎么回事?
问题1:
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: alb_rip.Ralbrip
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at alb_rip.Ralbrip.main(Ralbrip.java:302)
Caused by: java.io.NotSerializableException: alb_rip.Ralbrip
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
... 2 more
其中提到的错误所对应的代码是:
.....
Ralbrip rip = new Ralbrip(); //实例化远程类
LocateRegistry.createRegistry(2002);
Registry registry = LocateRegistry.getRegistry(2002);
registry.rebind("albripServiceObj", rip); //注册一个远程类
Naming.rebind("//localhost/albripServiceObj", rip);
.....
问题2:
我的rmi程序在Jbuilder下面经常出现如下警告,为什么?
"Ralbrip_Skel.java": Warning #: 368 : interface java.rmi.server.Skeleton in package java.rmi.server has been deprecated at line 7, column 32
"Ralbrip_Skel.java": Warning #: 368 : class java.rmi.server.Operation in package java.rmi.server has been deprecated at line 9, column 42
"Ralbrip_Skel.java": Warning #: 368 : class java.rmi.server.Operation in package java.rmi.server has been deprecated at line 17, column 28
"Ralbrip_Skel.java": Warning #: 368 : interface java.rmi.server.RemoteCall in package java.rmi.server has been deprecated at line 21, column 63
"Ralbrip_Skel.java": Warning #: 368 : class java.rmi.server.Operation in package java.rmi.server has been deprecated at line 10, column 22
"Ralbrip_Skel.java": Warning #: 368 : constructor Operation(java.lang.String) in class java.rmi.server.Operation has been deprecated at line 10, column 22
这似乎和SecurityManager有关,请指点!谢谢!!