Nifi 处理器上的 Java ExceptionInInitializer 错误

我在创建 Nifi 处理器类的实例时收到 ExceptionInIntializer 错误(代码如下)。在线查看后,该错误是由于静态初始化程序中存在错误而导致的,而我的类中没有该错误。我的代码中是否还有其他内容可能导致此错误?


import ApplicationProperties;

import IndexAttributesUtil;

import ConvertRecordUtil;

import EntityTypeUpdates;

import ViewTypeUtil;

import QueryHelper;

import MServiceLocator;


public class RepProcessor extends AbstractProcessor {


    protected final Logger logger = LoggerFactory.getLogger(RepProcessor.class);

    private static final ApplicationProperties applicationProperties = new ApplicationProperties();


    protected static final PropertyDescriptor HOST = new PropertyDescriptor.Builder().name("Hostname")

            .description("").required(true)

            .defaultValue(applicationProperties.getHost()).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();


    protected static final PropertyDescriptor PORT = new PropertyDescriptor.Builder().name("Port")

            .description("").required(true).defaultValue(applicationProperties.getPort())

            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();


    protected static final PropertyDescriptor TIMEOUT = new PropertyDescriptor.Builder().name("Timeout")

            .description("").required(true)

            .defaultValue(Integer.toString(applicationProperties.getTimeout()))

            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();


    protected static final PropertyDescriptor MAIN_VIEW = new PropertyDescriptor.Builder().name("Main View")

            .description("").required(true).addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();


    protected static final PropertyDescriptor SUB_VIEW = new PropertyDescriptor.Builder().name("Sub-View")

            .description("").required(false)

            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();


我正在我的测试类中创建该处理器的实例:


慕尼黑8549860
浏览 137回答 1
1回答

噜噜哒

ExceptionInitializaerError 意味着某些静态代码或对象中存在错误,并且由于您只有静态变量,因此很可能是由于创建了 PropertyDescriptors 之一。您发布的错误显示错误的原因是NumberFormatException: null,这意味着某些静态代码试图将 null 转换为数字。我猜问题是这个属性:protected static final PropertyDescriptor TIMEOUT = new PropertyDescriptor.Builder().name("Timeout")        .description("").required(true)        .defaultValue(Integer.toString(applicationProperties.getTimeout()))        .addValidator(StandardValidators.NON_EMPTY_VALIDATOR).build();如果applicationProperties.getTimeout()为 null,则它将传递 null 来Integer.toString()导致错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java