【问题标题】:Destinationsource.getQueues doesn't return the right amount of queues with SSL-ConnectionDestinationsource.getQueues 未使用 SSL-Connection 返回正确数量的队列
【发布时间】:2018-12-31 23:32:59
【问题描述】:

我想知道我的 ActiveMQ 上的队列数,我有这个代码,它适用于我本地安装的 ActiveMQ:

ActiveMQSslConnectionFactory connectionFactory = new ActiveMQSslConnectionFactory(url);
//connectionFactory.setTrustStore("truststore.ts");
//connectionFactory.setTrustStorePassword("password");

ActiveMQConnection connection = (ActiveMQConnection) connectionFactory.createConnection();
connection.start();

DestinationSource destinationQueues = connection.getDestinationSource();        
Set<ActiveMQQueue> queues = destinationQueues.getQueues();  

System.out.println(queues.size());

但是当我在服务器上的 ActiveMQ 上使用它(使用信任库)时,它将返回零队列。我知道连接有效,因为我可以使用来自一个确切队列的消息。我已经尝试过来自其他线程的提示,例如 sleep,但它仍然不起作用。

可能是因为 SSL 连接,在这种情况下我是否需要更改某些内容?提前谢谢你。

【问题讨论】:

    标签: java ssl activemq


    【解决方案1】:

    目标源位不能保证及时返回全套队列等。可能是您在代理上配置了不同的 SSL 连接器,或者可能只是因为 JDK 上 SSL 的吞吐量要慢得多实现数据尚未到达。

    【讨论】:

    • 感谢您的回答!那么除了目标源之外,还有什么可能与 SSL 一起使用?还是在这种情况下必须对代理进行不同的配置?
    【解决方案2】:

    发现问题。它是在 activemq.xml 中找到的 ActiveMQ 的设置。 advisorySupport="false" 部分导致了问题。注释掉这个设置后,查询返回队列的真实数量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多