【问题标题】:GWT serialization policy fileGWT 序列化策略文件
【发布时间】:2016-05-24 22:15:56
【问题描述】:

我有一个 GWT2.6.1 应用程序。我使用 RPC 调用。我定义了服务、serviceAsync、serviceImpl。但我一直收到以下错误:

信息:javax.servlet.ServletContext 日志:logLevelServlet:错误:未找到序列化策略文件“/analytics/E4322B1E292CEFFC5E147EAE677D2BFF.gwt.rpc”;您是否忘记将其包含在此部署中?

com.google.appengine.tools.development.ApiProxyLocalImpl 日志 信息:javax.servlet.ServletContext 日志:logLevelServlet:错误:找不到序列化策略文件“/analytics/E4322B1E292CEFFC5E147EAE677D2BFF.gwt.rpc”;您是否忘记将其包含在此部署中?

com.google.appengine.tools.development.ApiProxyLocalImpl 日志 信息:javax.servlet.ServletContext 日志:logLevelServlet:从http://localhost:9876/policies/E4322B1E292CEFFC5E147EAE677D2BFF.gwt.rpc 下载的序列化策略

EPARecord.java

public class EPARecord implements Serializable {
private static final long serialVersionUID = -6723643433565890894L;
private String timeStamp;
private String logLevel;
private String event;
private String comment;

public EPARecord(){}

public String getTimeStamp() {
    return timeStamp;
}

public void setTimeStamp(String timeStamp) {
    this.timeStamp = timeStamp;
}

public String getLogLevel() {
    return logLevel;
}

public void setLogLevel(String logLevel) {
    this.logLevel = logLevel;
}

public String getEvent() {
    return event;
}

public void setEvent(String event) {
    this.event = event;
}

public String getComment() {
    return comment;
}

public void setComment(String comment) {
    this.comment = comment;
}

}

LogLevelService.java

@RemoteServiceRelativePath("loglevel")
public interface LogLevelService extends RemoteService {
    EPARecord[] getEAPRecords(String level) throws IllegalArgumentException;
}

LogLevelServiceAysnc.java

public interface LogLevelServiceAsync {
void getEAPRecords(String level, AsyncCallback<EPARecord[]> callback) throws IllegalArgumentException;
}

我清除了浏览器缓存,并清除了项目并重新构建它。它总是给出相同的错误。我想 EPARecord 文件具有所有 String 属性并且它是可序列化的。并且在远程接口中,传输EPARecord的数组,不用客户化实现serializable也可以。

【问题讨论】:

    标签: gwt-rpc


    【解决方案1】:

    我遇到了一些问题。如果您的 *.gwt.xml 中有“inherits name='com.google.gwt.user.theme.clean.Clean'”代码行,您可以删除它并再次运行您的应用程序文件。

    【讨论】:

    • 一些旧代码可能会被缓存,这会产生问题。我通过重新创建的应用程序修复它
    【解决方案2】:

    当我想使用 GAE 应用程序连接到本地数据库时,我遇到了这个问题。当我在没有 GAE 的情况下重新创建应用程序时,问题就消失了。

    【讨论】:

    • 一些旧代码可能会被缓存,这会产生问题。我修好了。
    猜你喜欢
    • 2012-06-23
    • 2011-09-30
    • 1970-01-01
    • 2011-10-25
    • 2011-12-10
    • 1970-01-01
    • 2021-05-26
    • 2023-04-07
    相关资源
    最近更新 更多