как исправить проблему запланированных задач с весенней загрузкой - PullRequest
1 голос
/ 23 апреля 2019

Моя запланированная задача выглядит следующим образом, но приложение не отвечает, когда я использую @Scheduled(cron="0 46 17 * * *") И когда я использую @Scheduled(fixedRate = 50000), При сохранении информации на mongoDB Программа выдает ошибку

[ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.

: An unexpected error occurred during scheduled work. java.lang.NullPointerException

пожалуйста, помогите мне исправить мою треску.


    @Scheduled(cron="0 46 17  * * *")
//  @Scheduled(fixedRate = 5000)
    @RequestMapping("/closeAttendance}")
    public void cloceAttendance() {
        System.out.println("-1");
        AttendanceService attendanceService=new AttendanceService();
        Date date=attendanceService.getCurrentDate();
        System.out.println("1");
        List<Attendance> attendances=arepo.findByDate(date);
if(attendances!=null) {
        System.out.println("attendances"+attendances.size());
        System.out.println("2");
//  
        for(Attendance attendance:attendances) {
            System.out.println("3");
            attendance=attendanceService.closeAttendance(attendance);
            System.out.println("4");
            System.out.println("attendance"+attendance.getDate()+" "+ attendance.getPerson());
//          arepo.save(attendance);

        }   

    }
}

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019
   Use the below code for your reference and do the changes according to your need 

пакет com.winner.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling ;
import org.springframework.scheduling.annotation.Scheduled;
com.winner.etyping.domain.RegParentDomain;
import com.winner.etyping.domain.SchoolRegistrationDomain;
import com.winner.etyping.domain.StudentDomain;
@EnableScheduling
@Servic
public class StudentServiceImpl implements StudentService{

    @Autowired
    private ClassService classserice;

    @Autowired
    private DivisionService div;

    @Autowired
    private RegParentService parent;

    @Autowired
    private SchoolregistrationService school;

    @Autowired
    private StudentDao studendao;





    @Transactional
    public List<StudentDomain> getByClassAndDivId(Integer classid, Integer div,Integer school) {
        return studendao.getByClassAndDivId(classid,div,school);
    }

    **@Scheduled(cron="0 0 10 * * ?")**
    @Transactional
    public void sendBirthdayWish() throws Exception {
        studendao.sendBirthdayWish();

    }

    @Transactional
    public void sendNotificationToClassStudent(ClassDomain classid, SchoolRegistrationDomain schoolid , String Notification) throws Exception {
        studendao.sendNotificationToClassStudent(classid,schoolid,Notification);

    }






}
0 голосов
/ 23 апреля 2019

В этом коде нет ничего плохого, отсутствует только

@ EnableScheduling

используйте эту аннотацию на уровне класса, ваш код работает нормально, не забывайте повышатьпроголосуй, если у тебя работает.

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