java.lang.NoSuchFieldError:INSTANCE [英] java.lang.NoSuchFieldError: INSTANCE

查看:2424
本文介绍了java.lang.NoSuchFieldError:INSTANCE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当尝试通过StormSubmitter提交我的拓扑时,我得到了 -

When trying to submit my topology through StormSubmitter, I am getting -

Caused by: java.lang.NoSuchFieldError: INSTANCE  
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)

我正在使用Spring。

I am using Spring.

我没有在Spout / Bolt构造函数中初始化HttpClient。相反,它是在一个类的构造函数中初始化的,该类是从中的Spring上传中获取的() bolt的方法

I am not initializing HttpClient in Spout/Bolt Constructor. Instead its initialized in constructor of a class that is being fetched from Spring Context in prepare() method of bolt

代码的结构如下 -

Code is structured as follows -

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);
    }
}

SomeClient.java

@Component
public class SomeClient {
    private final CloseableHttpClient httpClient;

    public SomeClient() {
        this.httpClient = (httpClient == null ? HttpClients.createDefault() : httpClient);
    }
}

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);
    }
}


推荐答案

这可能是依赖问题。

这是一个非常不清楚的错误消息,但我发现类似的东西:
Hibernate NoSuchFieldError INSTANCE但仅限Struts 1?

It's a very unclear error message but I found something similar here: Hibernate NoSuchFieldError INSTANCE but only with Struts 1?

这篇关于java.lang.NoSuchFieldError:INSTANCE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆