2011-05-25 104 views
0

在我的Java應用程序中,我正在使用Jersey for REST服務。一切 工程完美,但我得到這個錯誤消耗了大量的CPU (13830cpu_ms)並凍結了幾秒鐘的應用程序。Google App Engine上的澤西島錯誤

com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider: The provider c  
class, class com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App, could not be 
instantiated. Processing will continue but the class will not be utilized 
java.lang.SecurityException: Unable to get members for class 
    com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App 
    at com.google.appengine.runtime.Request.process-d73c0d822f527031(Request.java) 
    at java.lang.Class.getDeclaredMethods(Class.java:252) 

任何想法如何我可以解決這個問題?

+0

您需要顯示一些代碼(導致錯誤的地方),或者這只是爲了得到一堆downvotes並最終關閉 – 2011-05-25 20:16:55

回答

0

@德魯西爾斯:謝謝,但錯誤發生在澤西島的代碼 - 不是我的,所以沒有代碼顯示。

最後我發現了這個問題:我只用jersey-core-1.7.jar這樣的球衣庫。這很好,應用程序將只使用這些庫來引發REST服務,但是如果我生成JSON,它將搜索提供JSON數組提供程序的jackson庫。

通過簡單地添加jackson * .jar庫,問題消失了。

+0

包括傑克遜正在工作,但不是推薦的方式。改用'jersey-json':http://download.java.net/maven/2/com/sun/jersey/jersey-json/1.7 – 2011-06-14 16:18:44