• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fontinha

Administração de programas em java

4 mensagens neste tópico

Boas, estou com umas dúvidas bastantes importantes, já andei a fazer alguma pesquisa na "net" mas não encontrei nada de relevante...

Tenho que programar um software em java que faça a administração de outros programas feitos em java :P

isto é, tenho um programa principal que executa/re-executa outros programas já compilados , caso "esses" programas por alguma razão forem abaixo, o meu código tem que detectar essa anomalia, e por de novo a serem executados.

Alguem sabe de alguma classe que me permita fazer esse tipo de gestão de software ?

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em java?! Bem a ideia do java é tornar os programas independentes uns dos outros, muito por questões de segurança, torna-se difícil comunicar com outros programas no sistema operativo sem o uso de sockets ou mecanismos de comunicação rmi. E detectar que programa está a correr no processo chamado java.exe, no caso do windows, não é muito fácil.

Podes dar mais informação de que operações fazem esses programas? ou de como pretendes saber se eles estão a funcionar?

Colocar um programa a correr pode ser tão simples como executar uma chamada à consola do sistema operativo, nada de complicado e creio que existe já um tópico sobre esse assunto aqui na secção de java, se me lembrar onde ele está...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas! Antes demais muito obrigado pela resposta.

Vou já direito ao assunto, são 3 programas no total.

O primeiro acede à base de dados e retira os dados especificados por um utilizador.

O segundo interpreta esses dados e transformas os mesmos num protocolo de comunicação para "outro software" (Um parser)

O terceiro põe esses dados nas base de dados do outro software especificado.

Eu sei que provavelmente poderia ser tudo incluido num só programa, mas não sou eu o coordenador do projectop :thumbsup:

O software de controlo para estes três programas tem que estar a monitorizar os 3, não necessariamente ao mesmo tempo. Para já é verificar quando algum dos 3 tiver a ser executado e for abaixo por qualquer anomalia, por o programa de novo a ser re-executado.

Agora não sei como verificar se eles estão a correr ou não... Isso é uma das minhas dúvidas.

Eu tenho o conheçimento de C e sei que pode ser tudo feito por comunicação de processos, com comandos base de fork e pipes e comunicação de mensagens, mas como não sou nenhum expert nem Java é a minha àrea de experiencia, acho que não tem suporte para este género de funcionalidades, mas tem que haver uma maneira...

Já agora, também descobri que para executar processos externos usamos a chamada java.lang.Runtime.exec(), isto cria necessáriamente uma nova máquina virtual para cada processo ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora