在glassfish中的嵌入式activeMQ消息服务器上发送消息

在glassfish中的嵌入式activeMQ消息服务器上发送消息,glassfish,ejb,jms,activemq,Glassfish,Ejb,Jms,Activemq,我开发了一个带有嵌入式activeMQ消息服务器的JavaEE应用程序(在GlassFish上)。我可以向我的消息驱动Bean发送消息。现在,我想通过activeMQ代理将消息发送回另一个主题 未向“回答”主题发送任何消息。我在activeMQ web前端看到它,没有引发异常 我看不出有什么问题。有人能告诉我在哪里可以搜索吗 以下是我的课程: @MessageDriven(activationConfig = { @ActivationConfigProperty(pro

我开发了一个带有嵌入式activeMQ消息服务器的JavaEE应用程序(在GlassFish上)。我可以向我的消息驱动Bean发送消息。现在,我想通过activeMQ代理将消息发送回另一个主题

未向“回答”主题发送任何消息。我在activeMQ web前端看到它,没有引发异常

我看不出有什么问题。有人能告诉我在哪里可以搜索吗

以下是我的课程:

    @MessageDriven(activationConfig = {
        @ActivationConfigProperty(propertyName = "destination", propertyValue = "amqmsg"),
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic") }, mappedName = "amqmsg")
@TransactionManagement(TransactionManagementType.BEAN)
public class TopicMB implements MessageListener {

    @Inject
    private MessageSender messageSender;
    private static final Logger logger = LoggerFactory.getLogger(TopicMB.class);

    public void onMessage(Message message) {

        messageLogger.log(message);
        try {
            messageSender.send("antwort");
        } catch (Exception e) {
            logger.error(e.getLocalizedMessage());
            e.printStackTrace();
        }

    }
}
还有我的留言人。amqpool为acitveMQ注入连接器连接池

@Stateless
public class MessageSender {

    private static final Logger logger = LoggerFactory
            .getLogger(MessageSender.class);

    @Resource(name = "amqpool")
    private ConnectionFactory connectionFactory;

    private static String subject = "answer";

    public void send(String text) throws JMSException {
        Connection connection = connectionFactory.createConnection();
        connection.start();

        Session session = connection.createSession(false,
                Session.AUTO_ACKNOWLEDGE);

        Destination destination = session.createTopic(subject);
        MessageProducer producer = session.createProducer(destination);
        producer.setDeliveryDelay(DeliveryMode.PERSISTENT);
        TextMessage message = session.createTextMessage("antwort");

        // Here we are sending the message!
        producer.send(message);

        session.close();

    }

}

如果在webconsole上看到该消息,则听起来该主题没有消费者

请注意,主题从不存储消息-对主题的订阅存储消息。非持久订阅(默认)仅在使用者连接并主动订阅主题时才处于活动状态。持久订阅可以在使用者未连接时保存邮件

那么,在向主题发送消息时,该主题是否有消费者,或者该主题是否有已注册的持久订阅