【发布时间】:2022-12-15 02:16:27
【问题描述】:
我在 Linux 中使用 ActiveMQ Apollo 1.7.1。我使用 MQTT 从服务器向客户端发送消息。
阿波罗配置如下:
<broker xmlns="http://activemq.apache.org/schema/activemq/apollo">
<notes>
The default configuration with tls/ssl enabled.
</notes>
<log_category console="console" security="security" connection="connection" audit="audit"/>
<authentication domain="apollo"/>
<!-- Give admins full access -->
<access_rule allow="admins" action="*"/>
<access_rule allow="*" action="connect" kind="connector"/>
<virtual_host id="myapollo">
<host_name>myapollo</host_name>
<access_rule allow="users" action="connect create destroy send receive consume"/>
<leveldb_store directory="${apollo.base}/data"/>
</virtual_host>
<connector id="tcp" bind="tcp://0.0.0.0:61613"/>
<key_storage file="${apollo.base}/etc/keystore" password="password" key_password="password"/>
</broker>
有人能告诉我如何找到有关 Apollo 进程占用 100% CPU 的原因的信息吗? 发生此问题后,我们无法通过 TCP 建立新的连接。
【问题讨论】:
-
@JustinBertram,是的,你是对的,我知道我们应该改变解决方案。但是此时此刻,我必须在有时间更改技术之前解决此问题。我们不能完全停止推送通知功能一秒钟
-
我有一个应用程序 Android,它是客户端。如果我将 Apollo 更改为 ActiveMQ,您认为我需要代码来使我的应用程序与 ActiveMQ 一起工作吗?
-
@JustinBertram,如何从 JVM 获取几个线程转储?
-
这里有更新吗?你还在面对这个问题吗?
-
是的,问题一直存在,但它出现不规律