为了账号安全,请及时绑定邮箱和手机立即绑定

Nifi 处理器上的 Java ExceptionInInitializer 错误

Nifi 处理器上的 Java ExceptionInInitializer 错误

慕尼黑8549860 2023-08-04 10:09:26
我在创建 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();我正在我的测试类中创建该处理器的实例:
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

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()导致错误。


查看完整回答
反对 回复 2023-08-04
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信