0

我是新手,如果我的错误看起来很愚蠢,请原谅我。我正在使用带有 glassfish 和 eclipse 的 active mq。我在 glass fish 中创建了 JMS 资源,例如 Destination Resources 和 Connection Factories。Active Mq 正在运行,我在 glassfish 上部署了消息驱动 bean,没有发生异常,但我在 active 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);}  

}

}在此处输入图像描述

在此处输入图像描述

4

0 回答 0