Estou com uma dúvida, finalizei o curso Spring MVC I e comecei a fazer alguns testes e me deparei com a seguinte dúvida, como eu faço pra colocar uma tarefa para executar dentro do projeto. Imagine que ao final do dia quero receber um e-mail com as vendas aprovadas. mas quero receber isso de forma automática.No meu caso fiz alguns testes a tarefa executa mas não consigo chamar a minha DAO de maneira correta podem me ajudar a injetar de maneira certa a DAO na minha tarefa.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.casadocodigo.loja.task;
import br.com.casadocodigo.loja.dao.ProdutoDAO;
import br.com.casadocodigo.loja.models.Produto;
import javax.ejb.Schedule;
import javax.ejb.Singleton;
import org.springframework.beans.factory.annotation.Autowired;
/**
*
* @author Douglas
*/
@Singleton
public class TasktScheduler {
@Autowired
private ProdutoDAO dao;
@Schedule(second = "*/10", minute = "*", hour = "*", persistent = false)
private void sendEmail(){
System.out.println("Send E-mail");
Produto produto = new Produto();
produto.setTitulo("Teste");
produto.setDescricao("Teste descrição");
produto.setPaginas(10);
dao.gravar(produto); Erro
}
}
Porém ocorre erro na linha Caused by: java.lang.NullPointerException at br.com.casadocodigo.loja.task.TasktScheduler.sendEmail(TasktScheduler.java:34)