ActiveMQ без настойчивости - PullRequest
       12

ActiveMQ без настойчивости

2 голосов
/ 17 октября 2010

Я хотел бы установить протокол связи между издателем и подписчиком между сервером, производящим сообщения, и многими клиентами, получающими их.После небольшого исследования я решил пойти с 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-файл.

Cheers, Max

Ответы [ 3 ]

1 голос
/ 10 февраля 2015

В моем случае удалите все файлы данных kahadb из следующего каталога:

$ ls /var/lib/activemq/main/data$ cd kahadb
db-1.log  db.data  db.redo  lock

затем:

sudo service activemq restart

и все вернется к работе

1 голос
/ 25 октября 2010

Это не нормальное поведение, а ошибка в KahaDB (постоянное хранилище по умолчанию в Activemq)

Вы можете увидеть информацию о Ошибка 2935 ActiveMQ .

Вы можете решить эту проблему, выбрав другой механизм персистентности, хотя у меня, как ни странно, была эта проблема пару раз, а потом она исчезла

0 голосов
/ 13 марта 2013

если используется maven pom, затем переключитесь на `

<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-all</artifactId>
    <version>5.8.0</version>
</dependency>

`, также не забудьте очистить содержимое в KahaDB и Scheduler.это также помогает отключить планировщик, если он не нужен.

...