Serviço assíncrono, arquivo bootstrap Spring, verificação dos dados do arquivo

5 respostas
rafadelnero

Boa tarde pessoal!

Preciso resolver uma questão da minha faculdade, já deixando claro, NÃO QUERO A RESPOSTA, e gostaria que alguém me desse um caminho para resolver, o professor passou esse exercício sem ao menos explicar os conceitos…

Aí vai a questão:

1)Crie um serviço assíncrono, que deverá executar seguinte tarefa:

Dado um diretório (que deve ser configurável no arquivo de bootstrap do Spring), periodicamente (e.g. de 10 em 10 segundos) esse serviço deve checar se existem novos arquivos em formato txt ou XML no mesmo contendo informações de usuários.
Os arquivos txt tem a forma:
nome1;senha1
nome1;senha1

Os arquivos XML tem a forma:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> nome1 senha1 nome2 senha2 ?

Se o serviço detectar a presença de um novo arquivo, o mesmo deverá criar ou atualizar o banco de dados de acordo com o conteúdo de um elemento e posteriormente excluir o arquivo.

Desde já agradeço, valeu!

5 Respostas

Andre_Fonseca

rafadelnero:
Boa tarde pessoal!

Preciso resolver uma questão da minha faculdade, já deixando claro, NÃO QUERO A RESPOSTA, e gostaria que alguém me desse um caminho para resolver, o professor passou esse exercício sem ao menos explicar os conceitos…

Aí vai a questão:

1)Crie um serviço assíncrono, que deverá executar seguinte tarefa:

Dado um diretório (que deve ser configurável no arquivo de bootstrap do Spring), periodicamente (e.g. de 10 em 10 segundos) esse serviço deve checar se existem novos arquivos em formato txt ou XML no mesmo contendo informações de usuários.
Os arquivos txt tem a forma:
nome1;senha1
nome1;senha1

Os arquivos XML tem a forma:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> nome1 senha1 nome2 senha2 ?

Se o serviço detectar a presença de um novo arquivo, o mesmo deverá criar ou atualizar o banco de dados de acordo com o conteúdo de um elemento e posteriormente excluir o arquivo.

Desde já agradeço, valeu!

oi,

Acho que você precisaria fazer algo parecido com os passos abaixo

  1. um ls ou um dir em um diretório, lendo os arquivos deste (de acordo com o padrão que você passou)

  2. jogar o resultado do ls (ou do dir) em uma variável

  3. caso a variável seja diferente de nulo (ou vazio caso seja uma lista seria melhor) faz o que tem que fazer no banco de dados

  4. agende o programa java em um agendador de tarefas (tipo um crontab ou o agendador de tarefas do windows)

Tente começar algo nesse sentido

PS: por acaso é necessário usar o timer do Spring para agendar as tarefas??

rafadelnero

André, o timer acho que não mas o arquivo deve ser configurável do bootstrap do Spring, e isso eu nunca fiz, talvez seja o mais complicado, se você conhecer alguma fonte de como pode ser realizado isso, ou se souber como pode ser feito, e puder dar algumas dicas já ajuda!

Valeu!

Hebert_Coelho

Procure por “scheduled task spring” no google.

Ele agenda a tarefa para você e vai disparar tudo de x em x tempo.

O resto da lógica já foi lhe passado.

rafadelnero

Valeu Hebert, vou me aprofundar mais no assunto e também no Spring.

romarcio

Você pode agendar tarefas com TimerTask ou Quartz pelo Spring.
No arquivo de referencia que junto com o download do Spring deve ter exemplo dessa configuração de agendamento.

Criado 1 de dezembro de 2012
Ultima resposta 1 de dez. de 2012
Respostas 5
Participantes 4