Verificar Movimentacao no sistema

Boa tarde…preciso criar um método que verifique a movimentacao no sistema,por exemplo: caso o sistema fique sem movimentação por 180 dias, deverá ser enviado o primeiro SMS de alerta para o cliente…entende!!!

a única coisa que eu cheguei a criar foi isso, mas travei não sei como prosseguir:/

//ultimo instante do dia Calendar calendar = new GregorianCalendar(); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); Date now = calendar.getTime();

?

Se estiver usando JEE, de uma olhada no TimerService:
http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html
Exemplos: http://openejb.apache.org/examples-trunk/schedule-expression/README.html e http://openejb.apache.org/examples-trunk/schedule-methods/README.html

Se estiver usando Spring, dê uma olhada no Quartz:
http://www.mkyong.com/spring/spring-quartz-scheduler-example/
http://quartz-scheduler.org/

Não sei porquê vocês estão orientando a discussão para cronômetros. Estamos falando de 180 dias. 6 meses.
O que precisa é de um contador. Um contador que indique se houve ou não “atividade” no site. Por exemplo, num site publico bastaria importar os dados do google analitics ou os dados do próprio servidor apache e verificar se houve atividade no dia x.

Depois é simplesmente ter um robot que corre todos os dias e calcula os dias sem atividade andando para trás de hoje e incrementando quando encontrar um dia com atividade pára. Se o contador for maior que 180 lança o alerta.

Na prática em sites públicos é quase impossível que o site esteja sem atividade a menos que ele esteja fora do ar. Mas 6 meses para saber se está fora do ar é muito. 1 dia já seria muito. Para saber se o site está fora do ar existem programas específicos para isso que monitoram.

O único cronometro necessário é do robot, mas isso não é o maior problema aqui.

Pelo que eu entendi, o sistema deve mandar uma msg tipo “I miss you” para o usuário que ficar mais de 180 dias sem acessar o sistema. Pra isso o TimeService ou o Quartz funcionam muito bem.
É só criar uma task que rode uma ou duas vezes por dia, varrendo todos os usuários que tenham a data do último acesso com mais de 180 dias.

[quote=Lita Mclean]Boa tarde…preciso criar um método que verifique a movimentacao no sistema,por exemplo: caso o sistema fique sem movimentação por 180 dias, deverá ser enviado o primeiro SMS de alerta para o cliente…entende!!!
[/quote]

Creio que a pergunta está mal formulada…o que se entende de ‘sistema sem movimentação’?

A comunicação é via Socket, HTTP?

Bom, provavelmente eu esteja fazendo do jeito ‘porco’… mas fiz assim só de inicio(só p verificar se ele iria me trazr os dias certos):

[code] Calendar initCalendar = new GregorianCalendar();
initCalendar.add(Calendar.DAY_OF_YEAR, -180);
initCalendar.set(Calendar.HOUR_OF_DAY, 0);
initCalendar.set(Calendar.MINUTE, 0);
initCalendar.set(Calendar.SECOND, 0);
initCalendar.set(Calendar.MILLISECOND, 0);

	Calendar endCalendar = new GregorianCalendar();
	endCalendar.set(Calendar.HOUR_OF_DAY, 23);
	endCalendar.set(Calendar.MINUTE, 59);
	endCalendar.set(Calendar.SECOND, 59);
	endCalendar.set(Calendar.MILLISECOND, 999);
	
	Date initDate = initCalendar.getTime();
	Date endDate  = endCalendar.getTime();

	Query query = em.createQuery("select e from EwTransact e where e.dtTransact >= :initDate and e.dtTransact <= :endDate");
	query.setParameter("initDate", initDate);
	query.setParameter("endDate", endDate);[/code]

comecei assim apenas p ver se me trazia os dados, mas ainda tem que pegar os dados do cliente o id e etc…

tveronezi qdo vc diz " criar uma task" esse task seria um servico(nao sei o nome certo) para ‘ativar’ esse meu método?