Monitorando alterações no banco!

Pessoal preciso monitorar a alteração de um status de um campo na minha tabela, por exemplo… se eel passar de 0 para 1…
minha aplicação executa uma tarefa…
unica maneira de ser feito isso eh atraves de thread ne? fica em loop monitorando esse campo no banco???

Sao varias as maneiras.

  • Implementar triggers no seu banco que insiram essas informacoes numa tabela de “auditoria” por exemplo, e ai sua pagina de monitoramento olhar pra essa tabela.
  • Se usar EJB, utilizar as anotacoes @PostUpdate, @PostInsert etc… elas interceptam esse momento em que sua entidade é alterada.

Por ai vai

No banco de dados?
Por que não cria uma trigger e só “loga” isso?

nao queria trabalhar com triggers…
sem ser dessa maneira… ah outra???

Porque, exatamente, você precisa monitorar esse campo? Integração através de BD?

eu tenho uma aplicacao escrita em outra linguagem… que acessa o banco… ai por exemplo… quando ela da um update no campo setando 1 em vez de 0
minha outra aplicacao… executa uma tarefa…

eu tenho uma aplicacao escrita em outra linguagem… que acessa o banco… ai por exemplo… quando ela da um update no campo setando 1 em vez de 0
minha outra aplicacao… executa uma tarefa…

eu tenho uma aplicacao escrita em outra linguagem… que acessa o banco… ai por exemplo… quando ela da um update no campo setando 1 em vez de 0
minha outra aplicacao… executa uma tarefa…[/quote]

OK. Mas o interessante seria você não ter que fazer isso, porque onera demais o banco sendo que seria responsabilidade da aplicação que fez a modificação avisar o seu sistema. Não seria melhor criar um web service, ou mesmo uma nuvem de eventos, para que o sistema que escreveu no banco avisasse o seu de que ele escreveu algo?

eu tenho uma aplicacao escrita em outra linguagem… que acessa o banco… ai por exemplo… quando ela da um update no campo setando 1 em vez de 0
minha outra aplicacao… executa uma tarefa…[/quote]

OK. Mas o interessante seria você não ter que fazer isso, porque onera demais o banco sendo que seria responsabilidade da aplicação que fez a modificação avisar o seu sistema. Não seria melhor criar um web service, ou mesmo uma nuvem de eventos, para que o sistema que escreveu no banco avisasse o seu de que ele escreveu algo? [/quote]

certo! teria que ser pelo web service… qual forma deu criar um webservice mais simples possivel?

eu tenho uma aplicacao escrita em outra linguagem… que acessa o banco… ai por exemplo… quando ela da um update no campo setando 1 em vez de 0
minha outra aplicacao… executa uma tarefa…[/quote]

OK. Mas o interessante seria você não ter que fazer isso, porque onera demais o banco sendo que seria responsabilidade da aplicação que fez a modificação avisar o seu sistema. Não seria melhor criar um web service, ou mesmo uma nuvem de eventos, para que o sistema que escreveu no banco avisasse o seu de que ele escreveu algo? [/quote]

certo! teria que ser pelo web service… qual forma deu criar um webservice mais simples possivel?[/quote]

Em que linguagem? Usando qual application server?

eu tenho uma aplicacao escrita em outra linguagem… que acessa o banco… ai por exemplo… quando ela da um update no campo setando 1 em vez de 0
minha outra aplicacao… executa uma tarefa…[/quote]

OK. Mas o interessante seria você não ter que fazer isso, porque onera demais o banco sendo que seria responsabilidade da aplicação que fez a modificação avisar o seu sistema. Não seria melhor criar um web service, ou mesmo uma nuvem de eventos, para que o sistema que escreveu no banco avisasse o seu de que ele escreveu algo? [/quote]

certo! teria que ser pelo web service… qual forma deu criar um webservice mais simples possivel?[/quote]

Em que linguagem? Usando qual application server?[/quote]

em java…! qual application server vc me indica ? nunca trabalhei com webservice…

[quote=diegocorp]
em java…! qual application server vc me indica ? nunca trabalhei com webservice…[/quote]

Se você nunca trabalhou, recomendo estudar mais a fundo para entender direitinho o que eu estou sugerindo…

Como a sua aplicação (a que precisa monitorar o banco) está feita? Desktop, web… ?

[quote=asaudate][quote=diegocorp]
em java…! qual application server vc me indica ? nunca trabalhei com webservice…[/quote]

Se você nunca trabalhou, recomendo estudar mais a fundo para entender direitinho o que eu estou sugerindo…

Como a sua aplicação (a que precisa monitorar o banco) está feita? Desktop, web… ?[/quote]

Desktop

[quote=diegocorp][quote=asaudate][quote=diegocorp]
em java…! qual application server vc me indica ? nunca trabalhei com webservice…[/quote]

Se você nunca trabalhou, recomendo estudar mais a fundo para entender direitinho o que eu estou sugerindo…

Como a sua aplicação (a que precisa monitorar o banco) está feita? Desktop, web… ?[/quote]

Desktop[/quote]

OK… nesse caso, você pode expôr um web service mais ou menos assim:


@WebService
public class Servico {


@WebMethod
public String fazAlgumaCoisa(String parametro) {
return "Ola, " + parametro;
}

}


public class ClasseQueExpoeOServico {

public static void main(String[] args) {
Endpoint.create(new Servico()).publish("http://localhost:8080"); //Algo assim... não lembro de cabeça exatamente o que colocar como endereço, mas esse é o caminho.
}

}

Aí, a outra aplicação (a que escreve no banco) tem que saber consumir seu serviço. Depois disso, só implementar a lógica pra ir até o banco.

[]'s