我使用的是hazelcast 3.8.6版本。我目前正在开发一个多节点方案,我的服务器将充当主服务器,而另一台机器将充当从服务器。 入门后,hazelcast守护程序将启动,然后我将启动我的从机服务器。
由于在主机中获取了守护程序锁,因此在从机程序守护程序中不会运行。当我关闭主服务器时,守护程序将在从属机器中被拾取并相应地运行。
try {
isRunning = false;
if (!integrationMasterLock.tryLock()) {
integrationMasterLock.lock(); //while debugging it stops here doesnt proceed further.
if (!adapter.isRunning()) {
adapter.start();
}
if(integrationSettings.isFileBasedInput()) {
inboundAdapter.start();
}
if (!leaderInitiator.isRunning()) {
leaderInitiator.start();
handleSystemRestartEvent();
}
logger.debug("HazelcastQueueBasedIntegrationDaemon lock acquired");
} else {
logger.debug("HazelcastQueueBasedIntegrationDaemon lock held");
}
isRunning = true;
if (hazelcastInstance == null) {
initializeIntegrationHazelcast();
} else {
readFromStageQueue();
}
sleep();
} catch (final Exception e) {
logger.error("HazelcastQueueBasedIntegrationDaemon exception", e);
sleep();
}
问题是当奴隶机器再次关闭时,我试图启动我的主服务器,守护程序没有启动并且锁定被获取。有人可以帮忙吗?