直到上周,我一直在运行我的 GWT/AppEngine 应用程序,使用 java.io.Serializable 并在 RPC 调用中在我的类上实现 Serializable 没有问题。
现在我在 appengine 上收到此错误:类型 'com.foobar.web.shared.RPCDTOclass' 不能分配给 'com.google.gwt.user.client.rpc.IsSerializable' 并且没有自定义字段序列化程序。
我仍然有可序列化的工具。如果我修复/更改该类并将其设为 com.google.gwt.user.client.rpc.IsSerializable 它适用于该类,但对于 RPC 中使用的其他类,我会遇到相同的错误。我只有其中一些字符串,所以并不是我有无法序列化的类型。
我没有看到其他人有这个问题,所以我一定是做了某种改变导致它,但我不知道是什么。该错误出现在AppEngine上,所以我认为这一定是appengine问题?
谢谢
添加示例
public class UserLogInDTO implements IsSerializable {
private String Email;
private String PasswordHash;
public UserLogInDTO(){}
public UserLogInDTO(String email, String passwordhash){
setEmail(email);
setPasswordHash(passwordhash);
}
public void Set(String email, String passwordhash){
this.setEmail(email);
this.setPasswordHash(passwordhash);
}
/**
* @return the email
*/
public String getEmail() {
return Email;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
Email = email.toLowerCase();
}
/**
* @return the passwordHash
*/
public String getPasswordHash() {
return PasswordHash;
}
/**
* @param passwordHash the passwordHash to set
*/
public void setPasswordHash(String passwordHash) {
PasswordHash = passwordHash;
}
}
如果我实现了 IsSerializable 它可以工作,如果实现了 Serializable 它曾经可以工作,但现在不行。我正在使用 1.7.2 SDK for AppEngine 2.4.0 for GWT