2013-11-27 28 views
0

我還不知道GWT如此深。所以我想問問知道GWT的人。GWT RPC調用不會在運行時異常後回滾事務

我在GWT 2.3中有回滾事務問題。假設,GWT使RPC調用服務,並且將拋出NullPointerException。據我現在看到,類AbstractRemoteServiceServlet中的doUnexpectedFailure的執行不會重新拋出任何異常 - 它只是重置響應和日誌記錄異常。此外,該方法的文檔說,我應該重寫此方法來處理GWT中的意外異常。有人處理這個問題嗎?有人推翻doUnexpectedFailure嗎?我該如何糾正這個問題?

感謝您提前發表任何評論,併爲我的英語感到遺憾!

+1

交易你的意思是JPA交易? –

回答

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不是檢查的異常。

+0

命名異常 - 你的意思是檢查異常嗎? – Dedyshka

+0

yeap ...你是對的!我糾正它。 :-) –

+0

@ElHoss爲什麼你在'onFailure'方法中有try/catch?你可以做'if(捕獲instanceof NullPointerException){//處理NPE}' – Churro