2017-07-01 146 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

我解决了这个问题。我的实现是错误的。客户端对象被定义为一个类级变量,并且在每次方法调用期间都被初始化。并行呼叫期间。每个线程并发调用攻击相同的类级对象,并尝试修改,因此对象未正确初始化。现在我通过从春季注入类来修复它,以便在每次调用期间都不会修改它。