2017-07-01 144 views
0

我打電話給一個REST服務,提供者提供了一個客戶端。客戶的規格是使用澤西島2.18。所以我必須用下面的球衣依賴澤西島異常Java 1.8

  • 新澤西州的客戶 - 2.18.jar
  • 新澤西州共2.18.jar
  • 新澤西州的實體 - 過濾 - 2.18.jar
  • 新澤西guava- 2.18.jar
  • 新澤西媒體JSON - 傑克遜2.18.jar

我正在使用的ScheduledThreadPoolExecutor電話和我的應用程序在TC服務器和JDK 1.8上運行。偶爾我會得到下面的例外。我試圖在谷歌搜索這個例外,但沒有運氣。但我看到下面幾乎每次

無法創建組件類型類> org.glassfish.jersey.client.authentication.HttpAuthenticationFeature

異常

java.lang中新登記.NullPointerException在 org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:694) at org.glassfish.jersey.model.internal.CommonConfig.configure MetaProviders(CommonConfig.java:644) 在 org.glassfish.jersey.client.ClientConfig $ State.configureMetaProviders(ClientConfig.java:365) 在 org.glassfish.jersey.client.ClientConfig $ State.initRuntime(ClientConfig。 java:398) at org.glassfish.jersey.client.ClientConfig $ State.access $ 000(ClientConfig.java:88) at org.glassfish.jersey.client.ClientConfig $ State $ 3.get(ClientConfig.java: 120) at org.glassfish.jersey.client.ClientConfig $ State $ 3.get(ClientConfig.java:117) at org.glassfish.jersey.internal.util.collection.Values $ LazyValueImpl.get(Values.java :340) at org.glassfish.jersey.client.ClientConfig.getRuntime(ClientConfig.java:726) 在 org.glassfish.jersey.client.ClientRequest.getConfiguration(ClientRequest.java:285) 在 org.glassfish.jersey.client .JerseyInvocation.validateHttpMethodAndEntity(JerseyInvocation.java:126) 在 org.glassfish.jersey.client.JerseyInvocation。(JerseyInvocation.java:98) 在 org.glassfish.jersey.client.JerseyInvocation。(JerseyInvocation.java:91 ) 在 org.glassfish.jersey.client.JerseyInvocation $ Builder.method(JerseyInvocation.java:411) 在 org.glassfish.jersey.client.JerseyInvocation $ Builder.get(JerseyInvocation.java:307)

回答

0

我解決了這個問題。我的實現是錯誤的。客戶端對象被定義爲一個類級變量,並且在每次方法調用期間都被初始化。並行呼叫期間。每個線程併發調用攻擊相同的類級對象,並嘗試修改,因此對象未正確初始化。現在我通過從春季注入類來修復它,以便在每次調用期間都不會修改它。