Rodar sistema de segunda a sexta com dias definidos!

12 respostas
snowblacksoul

Pessoal estou com um super problema, pois o FdP do DBA só foi me falar agora que o sistema está indo pra produção que deve funcionar de segunda a sexta, pois o belo banco de dados que temos na empresa só funciona de segunda a sexta.
Bom vamos lá!
Tenho que executar o sistema de segunda a sexta até ai tudo bem consigo fazer com esse código: pego segunda a sexta!

Date d = new Date();  
    DateFormat dd = new SimpleDateFormat("EEEE");  
    System.out.println(dd.format(d));

Massss tenho que executar o sistema nos dias determinados que são: dia 07, dia 10, dia 13 ,16,19,22,25,28,02,04
se algum desses dias cairem no domingo ou sabado como fazer pra executar somente na semana
como fazer?!

12 Respostas

Adelar
Não precisa disso não. Você pode pegar com DAY_OF_WEEK. Exemplo:
Calendar xmas = new GregorianCalendar(1998, Calendar.DECEMBER, 25);
int dayOfWeek = xmas.get(Calendar.DAY_OF_WEEK);    // 6=Friday

Calendar cal = new GregorianCalendar(2003, Calendar.JANUARY, 1);
dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);         // 4=Wednesday

abraço

snowblacksoul

OK , ai eu verifico o dia da semana e como faço se a data definida cair num sabado, como faço pra rodar o sistema!?

Adelar

Depende… o sistema roda em windows ou linux? Se roda em servidor, que tipo de servidor?

snowblacksoul

Roda em windows

Adelar

Roda em algum servidor de aplicação ou é desktop?

snowblacksoul

Desktop mesmo!!

Adelar

Da uma olhada neste artigo então http://www.evandrosantos.com/2008/08/aplicaes-com-agendamento-utilizando.html… acho que serve para o seu caso.

snowblacksoul

Hummm nao ira resolver nao amigo, pois ali é um scheduler

Adelar

Qual o motivo para ter que tratar quando a aplicação vai rodar? Tem algum coisa que foi feita que exige que sempre tenha conexão com o banco? Se não tem conexão com o banco o sistema não deve funcionar, certo?

snowblacksoul

Sim existe, ele vai no banco de dados e extrai algumas informações!!

Adelar

Seria uma inicialização então. Uma forma de tratar se realmente tem que executar por dia é onde for executar somente dar permissão se está no dia correto. Caso esteja em outro dia retorna erro, dizendo que não tem permissão para a operação, por exemplo.

O que eu faria se fosse um sistema meu seria somente dizer ao usuário que não existe conexão com o banco.

Adelar

E aí @snowblacksoul, conseguiu resolver o problema?

Criado 31 de agosto de 2011
Ultima resposta 1 de set. de 2011
Respostas 12
Participantes 2