Java “卡哈布错误”;磁盘上没有剩余空间;。如何解决这个问题?
我正在使用activemq。KahaDB是activemq的默认消息存储。但它的大小不断增加,最终耗尽了磁盘空间。即使所有消息都已确认,它的大小仍在增长,并在其数据存储中不断创建新的日志文件 我没有设置与KahaDB相关的属性,它使用的是默认属性Java “卡哈布错误”;磁盘上没有剩余空间;。如何解决这个问题?,java,spring-boot,activemq,kahadb,Java,Spring Boot,Activemq,Kahadb,我正在使用activemq。KahaDB是activemq的默认消息存储。但它的大小不断增加,最终耗尽了磁盘空间。即使所有消息都已确认,它的大小仍在增长,并在其数据存储中不断创建新的日志文件 我没有设置与KahaDB相关的属性,它使用的是默认属性 broker = new BrokerService(); TransportConnector connector = new TransportConnector(); connector.setUr
broker = new BrokerService();
TransportConnector connector = new TransportConnector();
connector.setUri(new URI("tcp://localhost:61616"));
broker.addConnector(connector);
broker.start();
这些是我在broker上设置的唯一属性。有人能告诉我我可以在KahaDB上使用哪些属性以避免出现此错误吗?KahaDB日志和索引文件会因为一些原因而存在,其中一些原因并不总是显而易见的,因此您需要进行一些调试,看看是什么让日志文件存在,它可以很简单,只需一条未确认的消息就可以保存整个日志文件,在某些情况下,还可以使用未来的日志文件来跟踪该日志中其他消息的确认
ActiveMQ站点有一个很好的方法来研究这一点,这样您就可以看到在您的情况下是什么使日志中的内容保持活跃。使用最新版本也是一个好主意,因为在这一过程中,事情会得到修复,以防止日志在不应该的时候粘在一起 KahaDB日志和索引文件之所以会保留下来,有很多原因,其中一些原因并不总是显而易见的,因此您需要进行一些调试,看看是什么让日志文件保留下来,它可以很简单,只需一条未确认的消息就可以保存整个日志文件,在某些情况下,将来的日志文件会跟踪该日志中其他消息的确认
ActiveMQ站点有一个很好的方法来研究这一点,这样您就可以看到在您的情况下是什么使日志中的内容保持活跃。使用最新版本也是一个好主意,因为在这一过程中,事情会得到修复,以防止日志在不应该的时候粘在一起 磁盘空间不足可能有几个原因。我建议进一步学习ActiveMQ文档/指南。磁盘空间不足的原因可能有几个。我建议多学习一些ActiveMQ文档/指南。我肯定没有任何未确认的消息。如果一条消息被发送到DLQ,那么这会阻止整个日志文件被删除吗?让我们假设一个场景,如果DLQ中有20条消息,并且所有20条消息都存在于单独的日志文件中,那么我相信它会保留所有20个日志文件,对吗?是的,DLQ和其他任何队列一样,如果消息被稀疏地布置,那么它们会保留它们所在的所有日志。使用我提供的链接中提供的调试信息当然会告诉你,如果你花点时间的话,我肯定没有任何未确认的消息。如果一条消息被发送到DLQ,那么这会阻止整个日志文件被删除吗?让我们假设一个场景,如果DLQ中有20条消息,并且所有20条消息都存在于单独的日志文件中,那么我相信它会保留所有20个日志文件,对吗?是的,DLQ和其他任何队列一样,如果消息被稀疏地布置,那么它们会保留它们所在的所有日志。使用我提供的链接中提供的调试信息当然会告诉您,如果您只需投入一些时间就可以了。