java - Destinationsource.getQueues 不使用 SSL 连接返回正确数量的队列

标签 java ssl activemq

我想知道我的 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 连接,在这种情况下我是否必须更改某些内容?提前谢谢你。

最佳答案

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

关于java - Destinationsource.getQueues 不使用 SSL 连接返回正确数量的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51497014/

相关文章:

java - 创建 PKCS12 文件以用作 java 信任库

java - 撒克逊 XSLT 转换 : How to close outputstream when failing during transformation

java - 硬件菜单单击从底部弹出,而不是从工具栏弹出

java - Tomcat ssl 端口未自动重定向

user-interface - 如何配置 ActiveMQ 5.10.0 HawtIO 接口(interface)?

java - 从 JMS MessageListener 发出回滚信号

activemq - 在ActiveMQ代理中设置消息的超时?

java - 使用 GSON 的空字段的默认值

java - 关于JAVA中使用SAX解析XML的问题

Tomcat SSL - IllegalStateException : SSL session ID not available