2009-07-29 15 views
0

GWT-RPCを使用してExt-GWT TreeGridにサーバーからのデータを入力しています。私は4つのコールバックを使用して6つのTreeGridを設定しています。 callback onSuccess関数は、行を挿入することによってTreeGridを変更するので、TreeGridViewは行をレンダリングする必要があります。コールバッククラスは、MainPnlSummaryTablesAsyncCallbackと呼ばれます。Ext-GWT TreeGridは間接的にGWT-RPCコールバックを呼び出しますか?どうして?

なんらかの理由で、JSNI経由でTreeGridViewのScrollerのoffsetHeightを判断する必要がある場合、onSuccessまたはonFailureがスタックトレースのコールバックの別のインスタンスで呼び出されます。私が遭遇したスタックトレースのコピーは以下の通りです。

が、これは本当に奇妙ではないですか?なぜこうなった?

FYI私は、EXT-GWT 2.0.1および1.7.0 GWTを使用していますが、私はこれがWebモードのための問題であることをかなり確信しているが、私は、これをデバッグするためにホスト・モードブラウザを使用しています。

PnlSummaryClientDebug_as10node6 [Java Application] 
com.google.gwt.dev.HostedMode at localhost:3595 
    Thread [main] (Suspended (breakpoint at line 403 in MainPage$MainPnlSummaryTablesAsyncCallback))  
     MainPage$8(MainPage$MainPnlSummaryTablesAsyncCallback).onSuccess(GWTPair<AggregateStringGWTTable,AggregateStringGWTTable>) line: 403  
     MainPage$8(MainPage$MainPnlSummaryTablesAsyncCallback).onSuccess(Object) line: 1  
     RequestCallbackAdapter<T>.onResponseReceived(Request, Response) line: 215 
     Request.fireOnResponseReceivedImpl(RequestCallback) line: 264 
     Request.fireOnResponseReceivedAndCatch(GWT$UncaughtExceptionHandler, RequestCallback) line: 236 
     Request.fireOnResponseReceived(RequestCallback) line: 227 
     NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] [local variables unavailable]  
     NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 
     DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 
     Method.invoke(Object, Object...) line: 597 
     MethodAdaptor.invoke(Object, Object...) line: 103 
     IDispatchImpl.callMethod(CompilingClassLoader, Object, Variant[], MethodAdaptor) line: 126 
     IDispatchProxy.invoke(int, int, Variant[]) line: 155  
     IDispatchProxy(IDispatchImpl).Invoke(int, int, int, int, int, int, int, int) line: 294 
     IDispatchProxy(IDispatchImpl).method6(int[]) line: 194 
     COMObject.callback6(int[]) line: 117  
     COM.VtblCall(int, int, int, GUID, int, int, DISPPARAMS, int, EXCEPINFO, int[]) line: not available [native method] 
     IDispatch.Invoke(int, GUID, int, int, DISPPARAMS, int, EXCEPINFO, int[]) line: 64 
     OleAutomation.invoke(int, int, Variant[], int[], Variant) line: 493 
     OleAutomation.invoke(int, Variant[]) line: 417 
     ModuleSpaceIE6.doInvokeOnWindow(OleAutomation, String, Variant[]) line: 68 
     ModuleSpaceIE6.doInvoke(String, Object, Class<?>[], Object[]) line: 153 
     ModuleSpaceIE6(ModuleSpace).invokeNative(String, Object, Class<?>[], Object[]) line: 453  
     ModuleSpaceIE6(ModuleSpace).invokeNativeInt(String, Object, Class<?>[], Object[]) line: 207 
     JavaScriptHost.invokeNativeInt(String, Object, Class<?>[], Object[]) line: 75 
     Element$.getOffsetHeight$(Element) line: not available 
     El.getHeight(boolean) line: 984 
     TreeGridView(BufferView).getVisibleRowCount() line: 313 
     TreeGridView(BufferView).doRender(List<ColumnData>, List<ModelData>, int, int, boolean, boolean) line: 189 
     TreeGridView(BufferView).doRender(List<ColumnData>, List<ModelData>, int, int, boolean) line: 181 
     TreeGridView(GridView).renderRows(int, int) line: 1559 
     TreeGridView(GridView).insertRows(ListStore<ModelData>, int, int, boolean) line: 1242 
     TreeGridView(GridView).onAdd(ListStore<ModelData>, List<ModelData>, int) line: 1293 
     GridView$5.storeAdd(StoreEvent<ModelData>) line: 1179 
     GridView$5(StoreListener<M>).handleEvent(StoreEvent<M>) line: 22  
     GridView$5(StoreListener<M>).handleEvent(BaseEvent) line: 1 
     TreeGrid$2(BaseObservable).callListener(Listener<BaseEvent>, BaseEvent) line: 176 
     TreeGrid$2(BaseObservable).fireEvent(EventType, BaseEvent) line: 96 
     TreeGrid$2(ListStore<M>).insert(List<? extends M>, int, boolean) line: 467 
     TreeGrid$2(ListStore<M>).insert(List<? extends M>, int) line: 266 
     TreeGrid<M>.onAdd(TreeStoreEvent<M>) line: 430 
     TreeGrid$1.storeAdd(StoreEvent<M>) line: 123  
     TreeGrid$1(StoreListener<M>).handleEvent(StoreEvent<M>) line: 22  
     TreeGrid$1(StoreListener<M>).handleEvent(BaseEvent) line: 1 
     TreeStore<M>(BaseObservable).callListener(Listener<BaseEvent>, BaseEvent) line: 176 
     TreeStore<M>(BaseObservable).fireEvent(EventType, BaseEvent) line: 96 
     TreeStore<M>.doInsert(TreeModel, List<TreeModel>, int, boolean, boolean) line: 799 
     TreeStore<M>.insert(List<M>, int, boolean) line: 493  
     TreeStore<M>.add(List<M>, boolean) line: 163  
     TreeStore<M>.add(M, boolean) line: 174 
     PnlClientFactory.populatePnlDataTreeStore(AggregateStringGWTTable, TreeStore<BaseModel>) line: 42 
     MainPage$9(MainPage$MainPnlSummaryTablesAsyncCallback).onSuccess(GWTPair<AggregateStringGWTTable,AggregateStringGWTTable>) line: 403  
     MainPage$9(MainPage$MainPnlSummaryTablesAsyncCallback).onSuccess(Object) line: 1  
     RequestCallbackAdapter<T>.onResponseReceived(Request, Response) line: 215 
     Request.fireOnResponseReceivedImpl(RequestCallback) line: 264 
     Request.fireOnResponseReceivedAndCatch(GWT$UncaughtExceptionHandler, RequestCallback) line: 236 
     Request.fireOnResponseReceived(RequestCallback) line: 227 
     NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] 
     NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 
     DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 
     Method.invoke(Object, Object...) line: 597 
     MethodAdaptor.invoke(Object, Object...) line: 103 
     IDispatchImpl.callMethod(CompilingClassLoader, Object, Variant[], MethodAdaptor) line: 126 
     IDispatchProxy.invoke(int, int, Variant[]) line: 155  
     IDispatchProxy(IDispatchImpl).Invoke(int, int, int, int, int, int, int, int) line: 294 
     IDispatchProxy(IDispatchImpl).method6(int[]) line: 194 
     COMObject.callback6(int[]) line: 117  
     OS.DispatchMessageW(MSG) line: not available [native method]  
     OS.DispatchMessage(MSG) line: 1925 
     Display.readAndDispatch() line: 2966  
     HostedMode(SwtHostedModeBase).processEvents() line: 235 
     HostedMode(HostedModeBase).pumpEventLoop() line: 558  
     HostedMode(HostedModeBase).run() line: 405 
     HostedMode.main(String[]) line: 232 
C:\Program Files\Java\jdk1.6.0_06\bin\javaw.exe (Jul 29, 2009 2:11:16 PM) 

答えて

0

[OK]を、それがRPCコールが行われた場合に、サーバがクライアント側のスタックトレースは、このように見えた理由はまだ、私は理解していない...いくつかNullPointerExceptionsがを投げていたようだ(誤解を招くの種類を探しますあたかも2つのスタックトレースが互いに溶け合っているかのように)。

関連する問題