我想在产生消息的服务器和接收消息的许多客户端之间建立一个基于发布者 - 订阅者的通信协议。经过一番研究,我决定使用 ActiveMQ。我查看了一些教程和 ActiveMQ 站点,并按如下方式设置代理:
BrokerService broker = new BrokerService();
broker.setPersistent(false);
broker.addConnector("tcp://localhost:61616");
broker.start();
我只需要消息传递功能,不需要数据库持久性或类似的东西。但是,当我启动应用程序时,无论配置如何,都会创建一个 activemq-data 文件夹。这反过来又会在我下次启动代理时导致异常。
SEVERE: Failed to start ActiveMQ JMS Message Broker. Reason: java.io.EOFException: Chunk stream does not exist at page: 0
这是一个错误还是我没有正确设置代理(使用 ActiveMQ 5.4.1)?如何禁用持久性,从而不创建额外的数据存储?此外,我更喜欢从 Java 应用程序中配置代理,而不是通过 xml 文件。
干杯,马克斯