Работя на сървър, който действа като уеб услуга и потребителски интерфейс пред друг сървър. И двата сървъра са групирани. Една от характеристиките на потребителския интерфейс са задачите, върху които работят потребителите. Тези задачи се поставят на опашка на activemq на бекенд сървъра и елементите се извличат през предния сървър. Искам да изградя проста опашка в паметта, така че да мога да подавам тези елементи към потребителския интерфейс възможно най-бързо. Искам да избегна необходимостта да конфигурирам друг activemq сървър. Настоящият ми подход е просто да разпределя опашката с помощта на Infinispan, но това ми се струва неефективно. Има ли по-добър начин да използвате нещо, което вече е включено в JBoss?
Проста разпределена опашка в jboss клъстер?
Отговори (1)
Можете просто да използвате стандартен JMS и той ще премине през HornetQ, вграден в JBoss EAP 6. По подразбиране ще използва infinispan in-memory.
Има добра статия за настройка на клъстерна опашка в AS 7 (EAP 6 трябва да е същият) тук: http://blog.akquinet.de/2012/11/24/clustering-of-the-messaging-subsystem-hornetq-in-jboss-as7-and-eap-6/
За да наблюдавате броя на елементите в опашката, можете да използвате JMX:
<subsystem xmlns="urn:jboss:domain:messaging:1.4">
<hornetq-server>
<clustered>true</clustered>
<jmx-management-enabled>true</jmx-management-enabled>
<!-- rest of config here -->
</hornetq-server>
</subsystem>
След като JMX е активиран, можете да използвате специфичен код на HornetQ, за да видите дължината на опашката. Този въпрос дава пример за това: Как да намерите дължина на опашката на horneq
Също така може да си струва да се отбележи: JBoss EAP 7 ще премине от HornetQ към ActiveMQ.
person
teacurran
schedule
08.08.2015
и това ще бъде репликирано в клъстера? Друга причина, поради която избягвах JMS, е, че искам да знам размера на опашката, за да знам кога да я запълня отново.
- person Jeffrey Poore; 09.08.2015