Я хочу сделать несколько тестов Akka Multi Node и перезапустить один узел, когда достигнут какой-либо барьер. Что-то вроде:Как перезапустить узел в тесте Akka Multi Node?
runOn(nodeA) {
// do something while both nodes are up and running
enterBarrier("nodeBCrashes")
// do something while I'm the only node up and running
enterBarrier("bothNodesUp")
// do something with both nodes up and running again
}
runOn(nodeB) {
// do something while both nodes are up and running
crash()
enterBarrier("nodeBCrashes")
// do nothing because I'm out
enterBarrier("bothNodesUp")
start()
// do something with both nodes up and running again
}
Это не может быть сделано, по крайней мере, нужен способ, чтобы иметь возможность выключать Узлом и инициировать другой nodeC с тем же akka.remote.netty.tcp.port (это строго необходимо). Что-то вроде этого
runOn(nodeA) {
// do something while both nodes are up and running
enterBarrier("nodeBCrashes")
// do something while I'm the only node up and running
enterBarrier("bothNodesUp")
// do something with both nodes up and running again
}
runOn(nodeB) {
// do something while both nodes are up and running
enterBarrier("nodeBCrashes")
shutdown()
}
// How I can delay nodeC start until nodeA reaches bothNodesUp barrier?
runOn(nodeC) {
// do something when both nodes are up and running
}
Вопрос может быть возобновлено на:
Можно ли воссоздать ситуацию, когда один узел выходит из строя, а затем перезагружается?
- Можем ли мы перезапустить узел?
- Если нет, можем ли мы запустить узел, когда остальные из них достигнут бербера?
- Можно ли назначить один и тот же akka.remote.netty.tcp.port для разных узлов (которые не должны запускаться параллельно). Я пробовал файлы *.opts, но безуспешно, так ли это?