Fechar e abrir aplicativo automaticamente [RESOLVIDO]

5 respostas
vanessa.tenorio

Boa tarde, pessoal!

Bem, estou com o seguinte problema: tenho um pequeno projeto em java que fica em execução constantemente no windows, ele verifica os dados no banco de dados e os apresenta em uma tela, porém como este aplicativo não é fechado em nenhum instante, quando dá 00:01hs ele mantém os dados do dia anterior, ou seja, não atualiza.

Notei que esta atualização apenas é realizada quando eu fecho o projeto (clicando no botão fechar que possui um método System.exit(0)).

É possível automaticamente o software fechar e abrir novamente apenas para haver as atualizações necessárias? Ou teriam outras sugestões para meu problema?

Desde já, muito obrigada!

5 Respostas

Eder_Peixoto

Já que é pra Windows, tem o exemplo abaixo:

Runtime.getRuntime().exec("cmd.exe /c java -jar C:\\App.jar");
vanessa.tenorio

Eder, muitíssimo obrigada pela colaboração!!!
Realizarei alguns testes e lhe retorno os resultados obtidos ao inserir seu exemplo no meu projeto.

Vanessa

drsmachado

Não seria o caso de fazer forçar o select a considerar a nova data?

E

vanessa.tenorio:
Boa tarde, pessoal!

Bem, estou com o seguinte problema: tenho um pequeno projeto em java que fica em execução constantemente no windows, ele verifica os dados no banco de dados e os apresenta em uma tela, porém como este aplicativo não é fechado em nenhum instante, quando dá 00:01hs ele mantém os dados do dia anterior, ou seja, não atualiza.

Vanessa, que tal criar um “timer” (java.util.Timer) para fazer a consulta periodicamente?

vanessa.tenorio

Bom dia!!!
Pessoal, realmente, muito obrigada pela colaboração de todos…

Bem, resolvi meu problema do seguinte modo: antes de verificar qualquer condição que validava a data verificando a data atual. Segue abaixo um trecho do procedimento que fiz:

for (int i = 0; i < vetorVendasVendedoras.length; i++) {

                                ultimoIdVendedora = vendedorasDAO.encontrarUltimoIDVendedora(i + 1);

                                Date hoje2 = new Date();
                                Date data1 = new Date(hoje2.getTime()); //COLETA A DATA ATUAL

                                if ((new SimpleDateFormat("dd/MM/yyyy").format(data1).compareTo(vendedorasDAO.selecionaUltimaDataVendedora(ultimoIdVendedora))) == 0) {
                              // preenchimento dos vetores para uma futura ordenação e comparação dos mesmo
                                    vetorVendasVendedoras[i] = vendedorasDAO.totalVendidoVendedora(ultimoIdVendedora);
                                    vetorVendasVendedorasBanco[i] = vendedorasDAO.totalVendidoVendedora(ultimoIdVendedora);

                                    ultimoIdVendedoraext = vendedorasDAO.encontrarUltimoIDVendedora(5);
                                    ext = vendedorasDAO.totalVendidoVendedora(ultimoIdVendedoraext);

                                } else {
                                    vetorVendasVendedoras[i] = 0.0;
                                    vetorVendasVendedorasBanco[i] = 0.0;
                                    ultimoIdVendedoraext = 0;
                                    ext = 0;
                                }
                            }

Novamente, muito obrigada pela ajuda de todos =)

Criado 13 de fevereiro de 2013
Ultima resposta 14 de fev. de 2013
Respostas 5
Participantes 4