Estou com um problema para terminar uma aplicação jms aqui. Seguinte, tenho Broker conectado, tudo direitinho, só que quando a mensagem é enviada a aplicação captura mas não estou sabendo como tratar essa mensagem que chega da fila.Alguém pode me ajudar?
Cara eu tenho isso feito,só n ta nessa maquina q estou no momento.
Posta ai teu codigo pra eu ver se lembro como fiz.
M
malbarbosa
oi raf4ever,
cara … vou postar o código mas acho que o meu problema é que não estou sabendo como enviar ou receber um arquivo xml, que é o que realmente eu preciso.
se puder me ajudar , agradeço…já n sei mais como resolver isso.
E nessa classe eu tenho que receber a mensagem, desserializa-la e popular em um objeto, só que quando eu tento a desserialização, o objeto fica todo nulo.
publicvoidrun(){super.run();try{this.mensagemRequisicao=this.convertMessage(originalMessage);Service<MensagemRequisicao>service=ServiceFactory.getService(this.mensagemRequisicao);service.setApplicationContext(applicationContext);mensagemResposta=service.execute(mensagemRequisicao);dispatcher=(Dispatcher)applicationContext.getBean("dispatcher");dispatcher.dispatch(mensagemResposta);}catch(Exceptione){// TODO Auto-generated catch blocke.printStackTrace();}}publicvoidsetMessage(Messagemessage){this.originalMessage=message;}@SuppressWarnings({"restriction","unchecked","deprecation"})protectedMensagemRequisicaoconvertMessage(Messagemessage)throwsException{MensagemRequisicaomensagemRequisicao=newMensagemRequisicao();try{JAXBContextcontext=JAXBContext.newInstance(MensagemRequisicao.class);Unmarshallerunmarshaller=context.createUnmarshaller();ObjectMessagemensagem=(ObjectMessage)message;Serializableserializable=mensagem.getObject();StringmensagemChegada=serializable.toString();mensagemRequisicao=(MensagemRequisicao)unmarshaller.unmarshal(fr);}catch(Exceptione){// TODO: handle exceptione.printStackTrace();}returnmensagemRequisicao;}
R
raf4ever
Bom,vc poderia fazer o seguinte:
Em vez de passar um arquivo xml,poderia usar uma API de parsing pra transformá-lo em objeto,passar esse objeto e usar a classe ObjectMessage da API do JMS pra receber.
Foi assim que eu fiz,e deu certo.
M
malbarbosa
oi raf4ever,
desculpe perguntar, mas como assim api de parsing?
e como seria a transformaçao?
por um acaso seria algo como uma serializaçao?