This is a workaround to your solution. Just use the scheduled annotation as it is but Use Date with it. That is
String targetDate="2020-02-06 13:50:00";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(targetDate);
if(new Date().getTime()==date.getTime())
{
then put your logic here.
}
edit -> Just checking the year would be enough right. So you can do this.
@Scheduled(cron = "0 50 13 6 2 ?")
public void doTheJobForOnceInSpecificTime() {
if (Year.now().getValue() == 2020) {
//your logic
}
}