簡體   English   中英

為 Kafka 運行 Springboot 應用程序時出現 java.lang.NullPointerException

[英]java.lang.NullPointerException while running Springboot application for Kafka

我正在嘗試運行 Springboot 應用程序但出現以下錯誤。 我試圖搜索此錯誤,但無法獲得確切的解決方案。 由於這是一個 Kafka 消費者應用程序,我希望從消費主題中獲取記錄。 但是,應用程序僅在第一步失敗,但我不僅要找出問題所在。 由於我是 Springboot 的新手,任何有關調試的建議都將不勝感激。

錯誤:

[2m2020-07-03 18:07:22.278[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.example.consumer.ApplicationRun     [0;39m [2m:[0;39m Starting ApplicationRun on LHTU05CD9032TMM with PID 36708 (C:\Users\psingh69\IdeaProjects\KafkaSpecificAvroConsumer\target\classes started by psingh69 in C:\Users\psingh69\IdeaProjects\KafkaSpecificAvroConsumer)
[2m2020-07-03 18:07:22.287[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.example.consumer.ApplicationRun     [0;39m [2m:[0;39m No active profile set, falling back to default profiles: default
[2m2020-07-03 18:07:22.386[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36m.e.DevToolsPropertyDefaultsPostProcessor[0;39m [2m:[0;39m Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
[2m2020-07-03 18:07:22.386[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36m.e.DevToolsPropertyDefaultsPostProcessor[0;39m [2m:[0;39m For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
[2m2020-07-03 18:07:25.300[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat initialized with port(s): 8080 (http)
[2m2020-07-03 18:07:25.341[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.apache.catalina.core.StandardService  [0;39m [2m:[0;39m Starting service [Tomcat]
[2m2020-07-03 18:07:25.342[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36morg.apache.catalina.core.StandardEngine [0;39m [2m:[0;39m Starting Servlet engine: [Apache Tomcat/9.0.24]
[2m2020-07-03 18:07:26.199[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.a.c.c.C.[Tomcat].[localhost].[/]      [0;39m [2m:[0;39m Initializing Spring embedded WebApplicationContext
[2m2020-07-03 18:07:26.199[0;39m [32mDEBUG[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.web.context.ContextLoader           [0;39m [2m:[0;39m Published root WebApplicationContext as ServletContext attribute with name [org.springframework.web.context.WebApplicationContext.ROOT]
[2m2020-07-03 18:07:26.199[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.web.context.ContextLoader           [0;39m [2m:[0;39m Root WebApplicationContext: initialization completed in 3813 ms
[2m2020-07-03 18:07:26.845[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mf.a.AutowiredAnnotationBeanPostProcessor[0;39m [2m:[0;39m Autowired annotation is not supported on static fields: static com.example.consumer.PayConsumer com.example.consumer.ApplicationRun.payConsumer
[2m2020-07-03 18:07:26.945[0;39m [32mDEBUG[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.w.s.handler.SimpleUrlHandlerMapping [0;39m [2m:[0;39m Patterns [/**/favicon.ico] in 'faviconHandlerMapping'
[2m2020-07-03 18:07:27.249[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.s.concurrent.ThreadPoolTaskExecutor [0;39m [2m:[0;39m Initializing ExecutorService 'applicationTaskExecutor'
[2m2020-07-03 18:07:27.269[0;39m [32mDEBUG[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerAdapter[0;39m [2m:[0;39m ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice
[2m2020-07-03 18:07:27.363[0;39m [32mDEBUG[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m 2 mappings in 'requestMappingHandlerMapping'
[2m2020-07-03 18:07:27.402[0;39m [32mDEBUG[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.w.s.handler.SimpleUrlHandlerMapping [0;39m [2m:[0;39m Patterns [/webjars/**, /**] in 'resourceHandlerMapping'
[2m2020-07-03 18:07:27.418[0;39m [32mDEBUG[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36m.m.m.a.ExceptionHandlerExceptionResolver[0;39m [2m:[0;39m ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice
[2m2020-07-03 18:07:27.884[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.d.a.OptionalLiveReloadServer      [0;39m [2m:[0;39m LiveReload server is running on port 35729
[2m2020-07-03 18:07:27.894[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.a.e.web.EndpointLinksResolver     [0;39m [2m:[0;39m Exposing 2 endpoint(s) beneath base path '/actuator'
[2m2020-07-03 18:07:28.025[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat started on port(s): 8080 (http) with context path ''
[2m2020-07-03 18:07:28.032[0;39m [32m INFO[0;39m [35m36708[0;39m [2m---[0;39m [2m[  restartedMain][0;39m [36mcom.example.consumer.ApplicationRun     [0;39m [2m:[0;39m Started ApplicationRun in 6.579 seconds (JVM running for 10.534)
Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
Caused by: java.lang.NullPointerException
    at com.example.consumer.ApplicationRun.main(ApplicationRun.java:19)
    ... 5 more

應用。java:

package com.example.consumer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApplicationRun {
    
    
    @Autowired
    static PayConsumer payConsumer;

    
    public static void main(String[] args) {

        SpringApplication.run(ApplicationRun.class, args);
        
        payConsumer.run();
    }
}

這對我有用!

package com.example.consumer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApplicationRun {
    
    
    @Autowired
    static PayConsumer payConsumer;
    
    public ApplicationRun(PayConsumer payConsumer) {
        ApplicationRun.payConsumer=payConsumer;
    }
    
    public static void main(String[] args) {

        SpringApplication.run(ApplicationRun.class, args);
        
        
        
        payConsumer.run();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM