Попробуйте определить bean-компонент типа com.example.amazonsyn c .Service.IAmazonUtilService в вашей конфигурации. - PullRequest
0 голосов
/ 27 марта 2020

Я получаю исключение нулевого указателя в моем классе обслуживания. Я автоматически подключил класс myservice с именем IAmazonUtilService. Но он сталкивается с нулевым указателем - исключение.

Также я написал PropertiesUtil для чтения данных из application.properties, который также не работает. Пожалуйста помоги мне с этим.

2020-03-27 18:39:20.172  INFO 17536 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
java.lang.NullPointerException
    at com.example.amazonsync.AmazonSync.ImportAmazonDataService.getOrdersFromAmazonStore(ImportAmazonDataService.java:36)
ImportAmazonDataService.java:36
    at com.example.amazonsync.SyncData.OrderSync.execute(OrderSync.java:17)
OrderSync.java:17
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
JobRunShell.java:202
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
SimpleThreadPool.java:573
2020-03-27 18:39:20.254  INFO 17536 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2020-03-27 18:39:20.263  INFO 17536 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2020-03-27 18:39:20.330  INFO 17536 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-03-27 18:39:20.841 ERROR 17536 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field IAmazonUtilService in com.example.amazonsync.AmazonSync.ImportAmazonDataService required a bean of type 'com.example.amazonsync.Service.IAmazonUtilService' that could not be found.

ImportAmazonDataService. java

public class ImportAmazonDataService {

    @Autowired
    private IAmazonUtilService IAmazonUtilService;

    public ArrayList<String> getChannelLoc() {
        ArrayList<String> channelLoc = new ArrayList<String>();
        channelLoc.add("US");
        channelLoc.add("CA");
        channelLoc.add("MX");
        return channelLoc;
    }

    public void getProductsFromAmazonStore(JobExecutionContext context) throws SQLException, ClassNotFoundException {
        try {
            final Long taskID = (Long) context.getJobDetail().getJobDataMap().get("taskId");
            IAmazonUtilService.getChannelConfig("US");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void getOrdersFromAmazonStore(JobExecutionContext context) throws SQLException, ClassNotFoundException {

        final long taskID = (long) context.getJobDetail().getJobDataMap().get("taskId");
        IAmazonUtilService.getChannelConfig("CA");
    }
}

Git ссылка : https://github.com/Ezhilarasu1330/SpringBootQuartzSchedular.git

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

ваш ImportAmazonDataService класс должен быть аннотирован как @Service, чтобы пружина знала, что нужно ввести @Autowired IAmazonUtilService

и рефакторинг

@Autowired
private IAmazonUtilService IAmazonUtilService;

в

@Autowired
private IAmazonUtilService iAmazonUtilService;
0 голосов
/ 27 марта 2020

Изменение распространяется на агрегаты !!

от:

public class AmazonUtilService extends ImportAmazonDataService {}

до:

public class AmazonUtilService implements ImportAmazonDataService {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...