Har*_*ani 26 java spring httpclient apache-storm
当我尝试通过StormSubmitter提交我的拓扑时,我得到了 -
Caused by: java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)
Run Code Online (Sandbox Code Playgroud)
我正在使用Spring.
我没有在Spout/Bolt构造函数中初始化HttpClient.相反,它是在一个类的构造函数中初始化的,该类是从Spring的上下文中获取prepare()的
代码结构如下 -
SomeBolt.java
@Component
public class SomeBolt extends BaseRichBolt {
private OutputCollector _collector;
private SomeClient someClient;
@Override
public void prepare(Map conf, TopologyContext context, OutputCollector collector) {
_collector = collector;
someClient = AppContext.getBean(SomeClient.class);
}
}
Run Code Online (Sandbox Code Playgroud)
SomeClient.java
@Component
public class SomeClient {
private final CloseableHttpClient httpClient;
public SomeClient() {
this.httpClient = (httpClient == null ? HttpClients.createDefault() : httpClient);
}
}
Run Code Online (Sandbox Code Playgroud)
AppContext.java
@Component
public class AppContext implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
AppContext.applicationContext = applicationContext;
}
public static <T> T getBean(Class<T> c) {
return applicationContext.getBean(c);
}
}
Run Code Online (Sandbox Code Playgroud)
K.C*_*.C. 17
这可能是一个依赖问题.
这是一个非常不清楚的错误消息,但我发现类似的东西: Hibernate NoSuchFieldError INSTANCE但只有Struts 1?
小智 9
我遇到类似这样的问题,在我的类路径中有两个jar包含相同的类,httpcore-4.3和apache-httpcomponents-httpcore,我已经从类路径中删除了apache-httpcomponents-httpcore解决了这个问题.
| 归档时间: |
|
| 查看次数: |
76569 次 |
| 最近记录: |