Framework para processar atividades diarias

Ola,

eu nao sei o termo correto, por isso nao encontrei nada em minhas pesquisas no google.

Eu possuo rotinas diarias no meu sistema e gostariad e automatiza-las. Existe algum framework em java que dispare essas rotias diariamente?

Pesso desculpas, mas estou a quase 1h no google e nao consegui acertar o tema da pesquisa para conseguir qualquer coisa sobre o assunto.

grato

Encontrei um, chama Quartz, vou estudar ele.

Quem tiver outro favor informar

Fala matapato !!!

eu costumo utilizar o QUARTZ - http://www.opensymphony.com/quartz/;jsessionid=LDKHONNCOPJC

existe se eu não me engano, mas o nome não deve ser bem esse

TimerTask

é do proprio java

Com QUARTZ vc consegue fazer umas configurações mais avançadas.

Eu comecei a usar o Spring Batch. Mas de qualquer forma é necessário usar o QUARTZ para agendar as tarefas.

o Spring tem um próprio recurso de agendamento. tanto pra combinar com o Spring Batch, quanto para qualquer outro serviços.

Show !!!

dessa eu não sabia !! :smiley:

Para finalizar o topico, consegui resolver o meu problema usando o TimeTask e Time + servlet

vou posrtar aqui como ficou

// servet que inicia essa classe junto com o tomcat, logo toda vez q derem start no servidor ele ira agendar as tarefas
public class Task implements Servlet {

	
	private static final long serialVersionUID = 1L;
	
	

	@Override
	public void destroy() {
		
	}


	@Override
	public ServletConfig getServletConfig() {
		return null;
	}


	@Override
	public String getServletInfo() {
		return null;
	}


	@Override
	public void init(ServletConfig arg0) throws ServletException {
		System.out.println("Iniciando Task");
		GenericDao dao = new GenericDao();	
		Properties props = new Properties(); 
		try {
			props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("configuracao.properties"));
			int empresaId = new Integer(props.getProperty("empresaId"));
			int usuarioId = new Integer(props.getProperty("usuarioId"));
			
			UsuarioBean usr = (UsuarioBean) dao.findaById(new UsuarioBean(), usuarioId, new UsuarioBean());		
			EmpresaBean empresa= (EmpresaBean) dao.findaById(new EmpresaBean(), empresaId, usr);
			
			Timer timer = new Timer();			
			RetornoTask retorno = new RetornoTask(empresa, usr);
			timer.scheduleAtFixedRate(retorno, retorno.getDataInicio().getTime(), retorno.getTempo());
			
			
			
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		
		
		
	}


	@Override
	public void service(ServletRequest arg0, ServletResponse arg1)
			throws ServletException, IOException {
		
	}
	
	
	
}

//adicioar ao web.inf para registrar o servlet
<servlet>
		<servlet-name>Task</servlet-name>
		<servlet-class>br.com.factoring.task.Task</servlet-class>
		<load-on-startup>1</load-on-startup> 
	</servlet>

// classe q executa a ativade q eu desejo
public class RetornoTask extends TimerTask {

	private long tempo; 
	private Calendar dataInicio;	
	private CNAB240ChequeModel model;
	private GenericDao dao = new GenericDao();
	private EmpresaBean empresa;
	private UsuarioBean usr;
	private TaskBean taskBean;
	
	private final String start = "Processando Retorno";
	private final String fim = "Fim do Processo";
	private final String sucesso = "Retornos Processados Com Sucesso";
	private final String erro = "Erro Processamento";
	
	
	public RetornoTask(EmpresaBean empresa, UsuarioBean usr) {
		this.dataInicio = new GregorianCalendar(); 
		dataInicio.set(GregorianCalendar.MINUTE,0);
		dataInicio.set(GregorianCalendar.HOUR_OF_DAY,18);
		this.tempo = 1000*60*60*24;// a cada 24 hrs
		this.model= new CNAB240ChequeModel();	
		this.dao = new GenericDao();
		this.empresa = empresa;
		this.usr = usr;
		this.taskBean = new TaskBean();
	}

	public void run()
	{
		try {
			System.out.println(start);		
			if (model.processarRetorno(empresa, usr)){				
				System.out.println(sucesso);			
				taskBean.setAtividade(sucesso);
			}
			else{
				System.out.println(erro);	
				taskBean.setAtividade(erro);
			}
			System.out.println(start);
		} catch (Exception e) {			
			e.printStackTrace();
			System.out.println(erro);	
		}
		finally{
			System.out.println(fim);
			dao.merge(taskBean, usr);
		}
		
			

	}