existe se eu não me engano, mas o nome não deve ser bem esse
TimerTask
é do proprio java
Pedrosa
Com QUARTZ vc consegue fazer umas configurações mais avançadas.
F
fre_d
Eu comecei a usar o Spring Batch. Mas de qualquer forma é necessário usar o QUARTZ para agendar as tarefas.
ricardosoares
o Spring tem um próprio recurso de agendamento. tanto pra combinar com o Spring Batch, quanto para qualquer outro serviços.
E
emerson.rodrigo
Show !!!
dessa eu não sabia !!
M
matapato
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 tarefaspublicclassTaskimplementsServlet{privatestaticfinallongserialVersionUID=1L;@Overridepublicvoiddestroy(){}@OverridepublicServletConfiggetServletConfig(){returnnull;}@OverridepublicStringgetServletInfo(){returnnull;}@Overridepublicvoidinit(ServletConfigarg0)throwsServletException{System.out.println("Iniciando Task");GenericDaodao=newGenericDao();Propertiesprops=newProperties();try{props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("configuracao.properties"));intempresaId=newInteger(props.getProperty("empresaId"));intusuarioId=newInteger(props.getProperty("usuarioId"));UsuarioBeanusr=(UsuarioBean)dao.findaById(newUsuarioBean(),usuarioId,newUsuarioBean());EmpresaBeanempresa=(EmpresaBean)dao.findaById(newEmpresaBean(),empresaId,usr);Timertimer=newTimer();RetornoTaskretorno=newRetornoTask(empresa,usr);timer.scheduleAtFixedRate(retorno,retorno.getDataInicio().getTime(),retorno.getTempo());}catch(IOExceptione){e.printStackTrace();}}@Overridepublicvoidservice(ServletRequestarg0,ServletResponsearg1)throwsServletException,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 desejopublicclassRetornoTaskextendsTimerTask{privatelongtempo;privateCalendardataInicio;privateCNAB240ChequeModelmodel;privateGenericDaodao=newGenericDao();privateEmpresaBeanempresa;privateUsuarioBeanusr;privateTaskBeantaskBean;privatefinalStringstart="Processando Retorno";privatefinalStringfim="Fim do Processo";privatefinalStringsucesso="Retornos Processados Com Sucesso";privatefinalStringerro="Erro Processamento";publicRetornoTask(EmpresaBeanempresa,UsuarioBeanusr){this.dataInicio=newGregorianCalendar();dataInicio.set(GregorianCalendar.MINUTE,0);dataInicio.set(GregorianCalendar.HOUR_OF_DAY,18);this.tempo=1000*60*60*24;// a cada 24 hrsthis.model=newCNAB240ChequeModel();this.dao=newGenericDao();this.empresa=empresa;this.usr=usr;this.taskBean=newTaskBean();}publicvoidrun(){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(Exceptione){e.printStackTrace();System.out.println(erro);}finally{System.out.println(fim);dao.merge(taskBean,usr);}}