我有幾個地方設置,他們工作正常,除了由此問題引起的延遲。他們使用嵌套的演示者。 對於一個地方,似乎任何重複嘗試加載它會導致無限循環顯示錯誤/未經授權的地方(不知道爲什麼,沒有網守設置),但然後正確加載頁面。我遇到的問題是它引起的延遲和不必要的日誌垃圾郵件 - 它正確地加載頁面,爲什麼不能在沒有首先通過循環的情況下進行呢?有人有主意嗎?GWTP無效的嘗試顯示錯誤的地方,但然後正常工作
- 更新 -
我使用GWTP 1.4 GWT 2.7.0,但該項目首次採用GWTP 0.6或更早可能產生。我們已經升級了更新版本,但我知道還有一些遺憾。
我嘗試用默認方式切換出我們的ClientPlaceManager,將ErrorPlace和UnauthorizedPlace綁定到我們的主頁,並刪除了它的看門人,但它仍然試圖去錯誤的地方(overrode revealErrorPlace方法,並注意到它拋出了錯誤一個頁面,特別是一個頁面,主持人生命週期階段沒有任何一個正在觸發,雖然主持人是可見的(只有在我認爲的Firefox中打破),但我真的不明白這一點
- UPDATE 2 -
我已經去除了守門(甚至指定@NoGatekeeper),確保了錯誤/未經授權的地方有@NoGatekeeper和存在,並凌駕於revealPlace (request,updateUrl)輸出結果,並添加一個try/catch - 並且它完成同樣的事情。無限循環,但一切都可以訪問。我的調試輸出甚至顯示它試圖揭示錯誤的地方,但它永遠不會,只是出錯。 這令人沮喪不已。
堆棧跟蹤:
SEVERE: Exception caught: Encountered repeated errors resulting in an infinite
loop. Make sure all users have access to the pages revealed by revealErrorPlace
and revealUnauthorizedPlace. (Note that the default implementations call
revealDefaultPlace)
com.google.gwt.event.shared.UmbrellaException: Exception caught:
Encountered repeated errors resulting in an infinite loop. Make sure all users
have access to the pages revealed by revealErrorPlace and
revealUnauthorizedPlace. (Note that the default implementations call
revealDefaultPlace)
at Unknown.fillInStackTrace_0_g$([email protected]:10580)
at Unknown.Throwable_3_g$([email protected]:10535)
at Unknown.Exception_3_g$([email protected]:10678)
at Unknown.RuntimeException_3_g$([email protected]:61481)
at Unknown.UmbrellaException_3_g$([email protected]:133542)
at Unknown.UmbrellaException_5_g$([email protected]:133603)
at Unknown.fireEvent_7_g$([email protected]:133134)
at Unknown.fireEvent_12_g$([email protected]:154354)
at Unknown.fire_8_g$([email protected]:132936)
at Unknown.fireValueChangedEvent_0_g$([email protected]:154358)
at Unknown.onHashChanged_0_g$([email protected]:154297)
at Unknown.apply_0_g$([email protected]:109006)
at Unknown.entry0_0_g$([email protected]:109062)
at Unknown.anonymous([email protected]:109042)
Caused by: java.lang.RuntimeException: Encountered repeated errors resulting in
an infinite loop. Make sure all users have access to the pages revealed by
revealErrorPlace and revealUnauthorizedPlace. (Note that the default
implementations call revealDefaultPlace)
at Unknown.fillInStackTrace_0_g$([email protected]:10580)
at Unknown.Throwable_2_g$([email protected]:10526)
at Unknown.Exception_2_g$([email protected]:10672)
at Unknown.RuntimeException_2_g$([email protected]:61475)
at Unknown.startError_0_g$([email protected]:92009)
at Unknown.error_2_g$([email protected]:91772)
at Unknown.doRevealPlace_0_g$([email protected]:91762)
at Unknown.revealPlace_1_g$([email protected]:91921)
at Unknown.revealPlace_0_g$([email protected]:91908)
at Unknown.revealErrorPlace_1_g$([email protected]:92109)
at Unknown.error_2_g$([email protected]:91773)
at Unknown.doRevealPlace_0_g$([email protected]:91762)
at Unknown.handleTokenChange_0_g$([email protected]:91848)
at Unknown.onValueChange_4_g$([email protected]:91888)
at Unknown.dispatch_87_g$([email protected]:132968)
at Unknown.dispatch_88_g$([email protected]:132972)
at Unknown.dispatch_0_g$([email protected]:49973)
at Unknown.dispatchEvent_2_g$([email protected]:133006)
at Unknown.doFire_0_g$([email protected]:133250)
at Unknown.fireEvent_8_g$([email protected]:133323)
at Unknown.fireEvent_7_g$([email protected]:133128)
at Unknown.fireEvent_12_g$([email protected]:154354)
at Unknown.fire_8_g$([email protected]:132936)
at Unknown.fireValueChangedEvent_0_g$([email protected]:154358)
at Unknown.onHashChanged_0_g$([email protected]:154297)
at Unknown.apply_0_g$([email protected]:109006)
at Unknown.entry0_0_g$([email protected]:109062)
at Unknown.anonymous([email protected]:109042)
您正在使用哪個版本的GWTP? 您是否設置了DefaultGateKeeper? 你是否改變了prepareFromRequest方法的地方? – meriouma 2015-04-16 03:31:34
我更新了版本和更詳細的問題,但我使用GWT 1.4和GWT 2.7.0。我第一次看到問題的頁面/主持人沒有設置關守,儘管我發現了另一個頁面,它在使用原始錯誤頁面中的瀏覽器返回按鈕時拋出錯誤,並且它有一個關守。我刪除它,仍然沒有運氣。沒有DefaultGateKeeper集。它看起來像一個錯誤,而不是一個未經授權的問題 - 但我不知道如何獲得更多細節,我只是有堆棧跟蹤告訴我,所以出錯了 – 2015-04-16 13:43:11