Ai galera, ja consigo enfileirar as mensagens numa fila (JBOSS)…
Fiz uma classe teste para poder ler estas mensagens nas ainda não estou conseguindo…
Não da erro nenhum, so não mostra as mensagens…
codigo abaixo
import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Teste {
public static void main(String[] args) {
ReceiverMessage receiverMessage = new ReceiverMessage();
try {
receiverMessage.connect();
} catch (NamingException e) {
e.printStackTrace();
} catch (JMSException e) {
e.printStackTrace();
}
while(true) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class ReceiverMessage implements MessageListener {
private QueueConnection queueConnection;
private QueueSession queueSession;
private Queue queue;
private String queueName = "OutputMessageQueue";
public void connect() throws NamingException, JMSException {
InitialContext initialContext;
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
properties.put(Context.URL_PKG_PREFIXES, "jboss.naming:org.jnp.interfaces");
//properties.put(Context.PROVIDER_URL, "");
initialContext = new InitialContext(properties);
QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory) initialContext.lookup("ConnectionFactory");
queueConnection = queueConnectionFactory.createQueueConnection();
queue = (Queue) initialContext.lookup("queue/" + queueName);
queueSession = queueConnection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
QueueReceiver queueReceiver = queueSession.createReceiver(queue);
queueReceiver.setMessageListener(this);
}
public void onMessage(Message message) {
System.out.println("****************** Mensagem Recebida ******************");
if(message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
System.out.println("Mensagem " + textMessage.getStringProperty("ID") + " recebida com sucesso.");
System.out.println("Corpo da mensagem = " + textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
System.out.println("*******************************************************");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}