Liferay 7.1: кластер с одним узлом (тестовая среда) - PullRequest
1 голос
/ 14 марта 2019

Я хочу знать, возможно ли иметь только один узел в кластерной среде для нашего Liferay 7.1 на локальном хосте.

Вот часть моего портала-ext:

cluster.link.enabled=true
cluster.link.channel.properties.control=/custom_jgroups/tcp.xml
cluster.link.channel.properties.transport.0=/custom_jgroups/tcp.xml

Я установил следующие параметры в настройках виртуальной машины для своего кота:

-Djgroups.bind_addr=127.0.0.1  
-Djgroups.tcpping.initial_hosts=127.0.0.1[7800]

В портлете я выполняю задание вручную:

Message message = new Message();
message.put(SchedulerEngine.JOB_NAME, job);
message.put(SchedulerEngine.GROUP_NAME , job);
message.put(SchedulerEngine.DESTINATION_NAME, DestinationNames.SCHEDULER_DISPATCH);
message.setDestinationName(DestinationNames.SCHEDULER_DISPATCH);
log.info("Stream " + streamNumber + " is launched ("+job+")");
try {
    ClusterLinkUtil.sendMulticastMessage(message, Priority.LEVEL10);
} catch (Exception e){
    log.error(e);
}

При работе с двумя узлами в моем кластере это работает, но при тестировании с одним узлом ничего не происходит.

Вот отладка журнала. Похоже, что сообщение отправлено, но не получено ... Есть идеи?

DEBUG [http-nio-8080-exec-6][ClusterLinkImpl:131] Select channel number 0 for priority LEVEL10
DEBUG [http-nio-8080-exec-6][JGroupsClusterChannel:171] Send multicast message {destinationName=liferay/scheduler_dispatch, response=null, responseDestinationName=null, responseId=null, payload=null, values={GROUP_NAME=com.job.UselessDataPurgeJob, DESTINATION_NAME=liferay/scheduler_dispatch, JOB_NAME=com.job.UselessDataPurgeJob}}
...