Я новичок в этом, так что прости меня, если моя ошибка кажется глупой. Я использую активные mq для Glassfish и Eclipse. Я создал ресурсы JMS для стеклянной рыбы, такие как ресурсы назначения и фабрики соединений. Активный Mq запущен, и я развернул управляемый сообщениями bean-компонент на glassfish, исключений не возникает, но я не могу найти свою очередь на активном mq, и сообщение не выводится на консоль.
Я в основном использую пример, приведенный здесь: https://www.javatpoint.com/message-driven-bean
public class MessageSender {
public static void sendMessage() throws JMSException, NamingException {
InitialContext ctx = new InitialContext();
QueueConnectionFactory f = (QueueConnectionFactory) ctx.lookup("jms/myQueueConnectionFactory");
QueueConnection connection = f.createQueueConnection();
connection.start();
QueueSession ses = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue t = (Queue) ctx.lookup("jms/myQueue");
QueueSender sender = ses.createSender(t);
TextMessage message=ses.createTextMessage("Hello !!! Welcome to the world of ActiveMQ.");
sender.send(message);
connection.close();
}
}
@MessageDriven(mappedName = "jms/myQueue")
открытый класс MessageReceiver реализует MessageListener {
/**
* Default constructor.
*/
public MessageReceiver() {
// TODO Auto-generated constructor stub
}
/**
* @see MessageListener#onMessage(Message)
*/
public void onMessage(Message message) {
// TODO Auto-generated method stub
TextMessage m=(TextMessage) message;
try{
System.out.println("message received: "+m.getText());
}catch(Exception e){System.out.println(e);}
}
}