Agendamento de Tarefa com Timer

Olá galera. Sou novo aqui e já estou chegando com uma dúvida. Desculpem qualquer coisa…srsrsr… :smiley:

Gostaria de saber se tem como eu finalizar uma thread utilizando a classe Timer.

Por exemplo: Tenho minha aplicação que é o agendamento de uma determinada tarefa ( seria um laço infinito coletando e jogando dados em um BD) onde o usuário determina a hora que irá começar e terminar.

O agendamento para o inicio fiz beleza, mas não sei como fazer para terminar. Quem poder ajudar ficarei grato. :lol:

Ninguém ?? :frowning:

help… :lol:

Não fica subindo o tópico colega, se ninguém respondeu ainda falta tempo ou conhecimento.
Está usando JDBC e threads “puro” ? Se sim, dá uma pesquisada. Encontrei algumas referências de como utilizar a classe Timer.

Desculpe, é que não estou encontrando nada a respeito do assunto e preciso disso com uma certa urgência.

Estou utilizando as próprias threads criadas pela classe Timer. O problema não é pegar do banco as informações de inicio ou de parada, mas sim fazer a minha tarefa terminar com essa data.
A parte de iniciar a tarefa consegui fazer também.

Porque vc nao cria sua própria thread? e sempre que o usuário lançar uma nova tarefa no sistema, vc instancia sua thread, que fica verificando o horario, e quando bater com o horario escolhido pelo usuário executa algo e finaliza o processo.

Pensei em fazer isso, mas teria que ter um laço externo ao meu método só para fazer essa comparação da hora do sistema com a hora agendada, já que o método que irá rodar com o agendamento tem um delay determinado pelo usuário. Achei isso meio que uma “gambiarra”. E também acho que teria problemas em comparar essas datas. Mas se não tiver outra solução, vai ter que ser isso mesmo.

Cara, eu te sugeriria estudar o Quartz:

http://quartz-scheduler.org/

Acho que é o que tu precisa. Só não tenho certeza porque nunca precisei o utilizar, mas vejo muita gente o indicando pra esse tipo de coisa…

[quote=fasts]Cara, eu te sugeriria estudar o Quartz:

http://quartz-scheduler.org/

Acho que é o que tu precisa. Só não tenho certeza porque nunca precisei o utilizar, mas vejo muita gente o indicando pra esse tipo de coisa…[/quote]

Muito boa citação. Eu já utilizei ele mas simplesmente esqueci.
Precisei usar com Threads e não tive problema, recomendo. Faz tempo que fiz isso, mas lembro que funcionava perfeitamente.

Eu dei uma olhada no Quartz, achei um pouco complicado para converter Date nas expreções “cron” que ele utiliza.
Não cheguei a ver se ele faz esse tipo de agendamento que eu quero, se fizer seria uma possivel solução tb. Vou estudar melhor.

[quote=danilomcb]Eu dei uma olhada no Quartz, achei um pouco complicado para converter Date nas expreções “cron” que ele utiliza.
Não cheguei a ver se ele faz esse tipo de agendamento que eu quero, se fizer seria uma possivel solução tb. Vou estudar melhor.
[/quote]

Sim, ele faz . Só precisa compreender como usar as expressões dele, parece meio difícil, mas leia com anteção que vai entender bem ela.
Abraços.