Eu to com um problema NO JMS
tenho uma classe de check automatico dos elementos do Banco…
e preciso achar uma forma de chamar o jms nessa classe pra enviar as mensagens de todos esses eventos do banco,
so que não faço ideia de como eu chamo o JMS nessa classe pra poder enviar essas mensagens pro activemq
Na verdade JMS é uma API em java que ajuda a você enviar e receber mensagem de um message server. Para facilitar você pode usar um EJB chamado MDB que ajuda você ainda mais a trabalhar com mensageria encapsulando a API do JMS, simplificando sua vida.
Agora vou te fazer uma pergunta rsrs… você pode usar EJB 3 no seu projeto?
Att
H
hannahh
Olá.... então quer dizer que eu não posso usar JMS PURO??
No caso eu só poderia usar EJB??
Eu sou muito leiga nesse assunto de JMS... e o projeto esta atrasado e eu e minha equipe estamos sem orientação nessa parte, pois achavamos que sera a parte mais facil pelas classes de JMS estarem todas prontas.
Para eu pegar essas mensagem de check do meu banco e enviar pro ActiveMQ eu teria que usar alguma outra tecnologia além do JMS E ACTIVEMQ?
Tem alguma outra dica sem ser com EJB?
Eu tenho esse metodo aqui e tenho que usar ele de alguma forma pra enviar as mensagens sobre o objetos do banco
pode usar JMS puro sim, eu só falo isto porque com EJB fica mais facil… mais vamos lá…
Primeiro você tem que acessar o banco via JDBC puro ou algum framework ORM como o Hibernate por exemplo e desta forma recuperar o objeto que você quer enviar para Fila, com o objeto em mãos uma opção seria você passar por parâmetro nesse método o objeto que recuperado do banco, assim o getDestinationJndiName() recuperaria JNDI(o endereço da fila) da fila e usava o mp.send(msg); para enviar.
H
hannahh
Humm… agora as coisas estão ficando mais clara… obrigada
Eu posso chamar esse metodo em outra classe?
Quando você disse para eu passar por parametro o objeto recuperado , seria passar no metodo da propria classe,ou posso chama-lo em outra classe?
Desculpa se não entendi bem essa parte, já estou trabalhando nessas classes jms uns dias seguidos… e só ficou faltando a parte de pegar as mensagens do banco e enviar pro activemq… e parece que ja estou enlouquecendo rs
E
erickfm8
Sim
Tanto Faz… pode ser na mesma classe ou em outra, ai você deveria ter algum conhecimento sobre arquiteturas e separação em camadas de software.
Um exemplo simples é design patterns DAO , você com certeza já dever ter ouvido falar, com ele você recuperaria o objeto do banco de dados para realizar as operações desejadas.
Ex:
Object objeto = dao.recuperarObjeto();
// ai na mesma classe você chamaria o metodo para
//enviar a mensagem
this.sendObjectMessage(objeto);
Eu tenho um tutorial de JMS que eu fiz ± 1 ano e meio atrás , pois lembro quando estava começando com JMS não achava nenhum tutorial passo a passo e completo sobre o assunto.
Este tutorial usei produtos da IBM , mais o conceito é o mesmo.
Se você quiser me passa seu e-mail via MP que eu disponibilizo ele para você
H
hannahh
Agora sim esta otimo… muito OBRIGADA!!!
Eu gostaria do tutorial sim,
me passa por favor
email: [email removido]
E
erickfm8
Já disponibilizei para você no seu e-mail.
H
hannahh
Mais uma dúvida,
Esse jms + activeMQ só funcionca com a JNDI?
E
erickfm8
Não necessariamente , mais pelo que eu vi no seu metodo você vai precisar sim.
Você precisa do nome da fila que vai enviar a mensagem, este nome é definido pelo JNDI ou Java Naming and Directory Interface que é uma API para acesso a serviços de diretórios.
H
hannahh
Pois é…
obrigada
ai jogo pra dentro do meu projeto o jndi.properties?
E você sabe como eu subo o activemq?
O menino aqui instalou ele no ambiente de desenvolvimento… e fica me fazendo pergunta desse activemq o tempo todo… e o material na internet eh muito pouco.
E
erickfm8
acredito que você pode colocar o jndi.properties em qualquer lugar , o que importa é o caminho que ele esteja para você ler ele.