2013-11-27 5 views
0

아직까지 내가 원하는만큼 GWT를 알지 못합니다. 그래서 저는 GWT를 잘 아는 사람에게 물어보고 싶습니다.GWT RPC 호출이 런타임 예외 후 트랜잭션을 롤백하지 않습니다.

GWT 2.3의 롤백 트랜잭션에 문제가 있습니다. GWT가 RPC 호출을하면, NullPointerException이 던져 질 것입니다. 지금까지보고있는 바로는 클래스의 구현은 어떤 예외도 다시 발생시키지 않습니다. 단지 응답과 로깅 예외를 다시 설정합니다. 또한 해당 메서드에 대한 설명서에서 GWT의 예상치 못한 예외를 처리하기 위해이 메서드를 재정의해야한다고 나와 있습니다. 아무도이 문제를 해결하지 않았습니까? 누구도 doUnexpectedFailure을 무시 했습니까? 어떻게하면이 문제를 해결할 수 있을까요?

사전에 의견을 보내 주셔서 감사 드리며 제 영어를 유감스럽게 생각합니다.

+1

트랜잭션 JPA 트랜잭션을 의미합니까? –

답변

1

하면 설명서를 살펴 보자

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

는 이제 서비스가

생성이가되어

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

말을, 당신은 당신의 클라이언트에 서비스를 고객의 전화 통화는 다음과 같습니다.

// 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를 처리 할 수 ​​있습니다. NPE가 확인 된 예외가 아니기 때문에 doUnexpectedFailure -method가 호출됩니다.

+0

명명 된 예외 - 예외 검사를 의미합니까? – Dedyshka

+0

yeap ... 당신 말이 맞아요! 나는 그것을 바로 잡는다. :-) –

+0

@ElHoss 왜 onFailure 메소드에서 try/catch를 사용합니까? if (catch 된 instanceof NullPointerException) {// NPE 처리} – Churro