Jms 主题无法接收消息

Jms 主题无法接收消息,jms,spring-jms,jms-topic,Jms,Spring Jms,Jms Topic,我有一个非持久主题客户端,它应该使用侦听器异步接收消息。 当在主题上发布消息时,我可以在管理控制台上看到消息被发布和使用,但我的客户端从未收到它 客户端能够正确地建立连接,因为我可以在控制台上跟踪它 有什么建议吗 编辑: 做了更多的分析,发现问题在于用于连接的API。 当我使用以下代码时,我能够收听消息: TopicConnection conn; TopicSession session = conn.createTopicSession(false, TopicSession.AUTO_AC

我有一个非持久主题客户端,它应该使用侦听器异步接收消息。 当在主题上发布消息时,我可以在管理控制台上看到消息被发布和使用,但我的客户端从未收到它

客户端能够正确地建立连接,因为我可以在控制台上跟踪它

有什么建议吗

编辑:

做了更多的分析,发现问题在于用于连接的API。 当我使用以下代码时,我能够收听消息:

TopicConnection conn;
TopicSession session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic(monacoSubscriberEmsTopic);
conn.start();
tsubs = session.createSubscriber(topic); 

tsubs.setMessageListener(listener);
但当我使用以下代码时,它就不起作用了:

DefaultMessageListenerContainer listenerContainer = createMessageListenerContainer();

private DefaultMessageListenerContainer createMessageListenerContainer() {
    DefaultMessageListenerContainer listenerContainer = new DefaultMessageListenerContainer();
    listenerContainer.setClientId(clientID);
    listenerContainer.setDestinationName(destination);
    listenerContainer.setConnectionFactory(connectionFactory);
    listenerContainer.setConcurrentConsumers(minConsumerCount);
    listenerContainer.setMaxConcurrentConsumers(maxConsumerCount);
    listenerContainer.setPubSubDomain(true);
    listenerContainer.setSessionAcknowledgeModeName(sessionAcknowledgeMode);
    if (messageSelector != null)
      listenerContainer.setMessageSelector(messageSelector);
    listenerContainer.setSessionTransacted(true);
    return listenerContainer;
  }
listenerContainer.initialize();
listenerContainer.start();

第二种方法有什么问题?

订阅者订阅的主题是否与publisher订阅的主题相同?是的,我已经检查过了。主要的问题是消息被消耗了!!消息上任何导致其立即过期的TTL属性?对消费者的任何过滤都会导致侦听器无法获取它?在我的帖子中添加了一些新信息编辑。