(resolvido) algumas duvidas jms  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

<titulo editado por que a duvida mudou>


Boa tarde a todos,

Galera, estou tentando criar MDBs no JBOSS 5.1, mas não estou conseguindo, alguém poderia me ajudar?

Criei um EJB project no eclipse, um Enterprise Aplication project vinculando ao EJB project, por fim dei um new -> Message Driven Bean. Quando eu inicio o JBOSS da um erro relativo a esse MDB.

O código do MDB está assim:



eis o trecho do erro que o JBOSS imprime:




antes eu não estava deixando a propriedade "destination", mas ai vi em certas googladas as pessoas indicando usa-la para resolver certos problemas, inclusive uma pagina de documentação do jboss que diz que ela é obrigatória e a coloquei, dai mudou o erro pro erro que colei ai em cima (o erro antigo dizia ja que faltava a propriedade obrigatória), mas assim mesmo ainda continua dando esse erro e não consegui mais progressos, estou a umas 3, 4 horas procurando alguma solução e não encontro...

bom... fico muito grato a quem me ajudar...

This message was edited 3 times. Last update was at 12/03/2011 09:52:13


espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

Eu nunca fiz isso com EJB, mas por acado você criou a fila no JBoss?
Sem EJB a gente configura um nome da fila em um XML no JBoss, com o mesmo nome do destination que vai na aplicação.

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

eu não mechi em arquivo xml nenhum... pra ser sincero nem sabia que isso é necessário (achava que só as anotações na classe seriam suficiente para subir o MDB... como eu faço isso, se possivel na IDE? tem como fazer via anotações ou só no xml?

é o meu primeiro contato com MDB... peguei um exemplo e tentei replica e deu esse problema, pesquisei o erro, adicionei a propriedade "destination" la em cima da classe na anotação googlando e ainda to meio sem solução pra isso mesmo...

This message was edited 1 time. Last update was at 04/03/2011 15:21:38


espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

Como eu disse, não sei se com EJB é necessário, mas não custa tentar.


Salva esse arquivo como: fila-destinations-service.xml
Esse é o modelo de arquivo que uso no Jboss 4.x, você pode procurar nas pastas de docs do Jboss 5.1 o modelo desse arquivo. Encontre o arquivo que seja chamado por jbossmq-destinations-service.xml

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

bom... antes de tudo agradeço pela ajuda.

por você ter dito que declarava o destino JMS num arquivo no servidor eu abri o console web do jboss e vi que la dava para criar esse destino JMS, então eu declarei la a queue com o mesmo nome que resolvi usar no código (no jboss administration console fui em resources, jms destinations depois em queue).. beleza, funcionou, startei o jboss com o meu MDB e o jboss subiu sem dar nenhum erro.

Agora o que eu não consegui foi criar o connection factory para usar no client... como faço isso? (la em connection factoryes não achei nenhum botão add, create... enfim)

This message was edited 1 time. Last update was at 06/03/2011 13:16:10


espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
fre_d
Java Ninja

Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline


Se você não tiver acesso ao servidor para adicionar o mbean, você pode fazer deploy do mbean junto com a aplicação.

Abraço,

Fred

romarcio wrote:Como eu disse, não sei se com EJB é necessário, mas não custa tentar.


Salva esse arquivo como: fila-destinations-service.xml
Esse é o modelo de arquivo que uso no Jboss 4.x, você pode procurar nas pastas de docs do Jboss 5.1 o modelo desse arquivo. Encontre o arquivo que seja chamado por jbossmq-destinations-service.xml
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

Pelo que me lembro o ConnectionFactory não se configura no servidor e sim no código java, tanto na classe que envia quanto na classe que consome as mensagens. É nelas que você indica que vai usar Connectionfactory.
Por exemplo, eu faço assim:

Indico através de uma string que usará ConnectionFactory.
Agora com EJB, tem que ver como se faz.

Parece que é assim a configuração:

http://www.cefetrn.br/~fellipe/lib/exe/fetch.php?id=disc%3Atds%3A20072%3Apiii&cache=cache&media=disc:tds:20072:mdb-01.pdf
http://netbeans.org/kb/67/javaee/ejb30_pt_BR.html

This message was edited 2 times. Last update was at 06/03/2011 14:39:57


Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

certo, eu usei o nome "ConnectionFactory" para obter a connection factory mas... se eu do um lookup nesse nome, de onde veio esse nome? sempre que usar jms vou precisar usar esse nome? não é configurável, inclusive adicionar um segundo nome?

bom... usei esse nome como disse no client e funcionou no jboss 5.1, agora eu vo testa no glassfish 3.1 (que esta dando uns pau meio meio estranho no windows 7 mas até ta dando pra contorna...), ve se eu descubro como crio a queue nele...etc...

e obrigado de novo pelas explicações.

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

Até onde sei não é configurável. O Jboss trabalha com alguns tipos de conexão, dai tem que passar qual o tipo, no caso ConnectionFactory é um.
Não lembro muito bem, mas dentro da pasta Deploy do Jboss, tem uma pasta referente ao serviço JMS, e lá vai ter alguns arquivos xml que dizem os tipos de conexão que o Jboss trabalha.

Uma vez tentei usar JMS com o Glassfish 2.11 e larguei de mão. Não consegui, tomará que vc consigua.

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

pois é... eu estou tendo problemas com o glassfish mesmo (da um erro estranho ao fazer o deploy da aplicação)... mas por enquanto nem quero me focar nisso, estou com um outro problema ainda...

Quando eu fiz uma queue, funcionou de boa, ao enviar mensagens, recebia tanto pelo client interno, dentro do jar, dentro do ear, quanto em uma aplicação por fora se registrando como consumer... beleza...

Porém quando tentei criar tópics, não deu tão certo, ao enviar uma mensagem de um publisher, o subscriber de dentro do container até recebia a mensagem, mas o subscriber de fora que se registrava para receber a mensagem não recebeu nada. Teriam comome ajudar, mostrar o que eu estou fazendo errado?

Seguem meus códigos:



2 clients diferentes que eu fiz:





Produtor de mensagens:


se alguém puder me ajudar sou bem grato.


espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

faltava uma coisa bem simples, dar um connection.start nas subscribers do topic....

bom... aparentemente está resolvido, vo ver se consigo fazer funcionar no glassfish tb

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team