运行时异常后,GWT RPC调用不会回滚事务

时间:2013-11-27 09:34:58

标签: java gwt transactions rpc gwt-rpc

我还不知道GWT如此深刻。所以我想问一个了解GWT的人。

我在GWT 2.3中遇到回滚事务的问题。比方说,GWT进行RPC服务调用,并且会抛出NullPointerException。就我现在所见,在doUnexpectedFailure类中AbstractRemoteServiceServlet的实现不会重新抛出任何异常 - 它只会重置响应和记录异常。此外,该方法的文档说我应该重写此方法来处理GWT中的意外异常。有人处理过这个问题吗?有人覆盖doUnexpectedFailure吗?我怎么能纠正这个呢?

感谢您提前发表评论并抱歉我的英语!

1 个答案:

答案 0 :(得分:1)

查看手册:

http://www.gwtproject.org/doc/latest/tutorial/RPC.html

说,你的客户有服务:

private MyServiceAsync service= GWT.create(MyService.class);

现在,服务已创建

这是您客户端中的呼叫的样子:

// Set up the callback object.
AsyncCallback<MyModel> myCallback = new AsyncCallback<MyModel>() {
  public void onFailure(Throwable caught) {
    try {
      throw caught;
    } catch (NullPointerException e) {
       // TODO: Handle your NPE 
    }
  }

  public void onSuccess(MyModelresult) {
    // everything is ok
  }
};
// Make the call to the stock price service.
service.doSomethingOnTheServer(callback);

在onFailure方法中,您可以在客户端处理您的NPE。调用doUnexpectedFailure - 方法,因为您的NPE不是经过检查的例外。