如何使用 spring-boot 初始化 ActiveMQ 的 SystemUsage?

How to initialize SystemUsage of ActiveMQ with spring-boot?

我正在尝试使用 spring-boot 初始化 embedded activemq JMS。它一般有效,但我也想降低内存使用量。因此,我试图提供 SystemUsage 作为 bean。

但是 SystemUsage bean 没有被考虑在内,activemq embedded 仍然有默认配置 1GB 。可能出了什么问题?

@EnableAutoConfiguration
@EnableJms
public class AppConfig {
    @Bean
    public SystemUsage systemUsage() {
        MemoryPropertyEditor editor = new MemoryPropertyEditor();
        SystemUsage system = new SystemUsage();

        MemoryUsage memory = new MemoryUsage();
        editor.setAsText("20mb");
        memory.setLimit((long) editor.getValue());
        system.setMemoryUsage(memory);

        return system;
    }
}

如果您需要更改默认配置,则必须将该 bean 手动注入到 amq 代理中。

所以我猜你被困在使用 spring xml 或 java 某处手动启动代理来设置 属性.