Skip to content

Commit f12af86

Browse files
committed
Clean up supervisor code
1 parent ba6d20b commit f12af86

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

src/main/kotlin/supervisor/CarpoolSupervisor.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,18 @@ import org.bread_experts_group.application_carpool.rmi.StatusResult
44
import org.bread_experts_group.application_carpool.rmi.Supervisor
55
import rmi.ApplicationInfo
66
import rmi.ApplicationNotFoundException
7+
import java.rmi.server.UnicastRemoteObject
78
import java.util.logging.Logger
89
import kotlin.system.exitProcess
910

10-
class CarpoolSupervisor(val pid: Long, val logger: Logger) : Supervisor {
11+
class CarpoolSupervisor(val pid: Long, val logger: Logger) : UnicastRemoteObject(0), Supervisor {
1112
val applications = mutableMapOf<Long, ApplicationEntry>()
1213

13-
override fun status(): StatusResult {
14-
return StatusResult(true, pid)
15-
}
14+
override fun status() = StatusResult(true, pid)
15+
1616
override fun stop() {
1717
logger.info("Stop request received, shutting down applications")
18-
for (app in applications.values) {
19-
app.handle.destroy()
20-
}
18+
for (app in applications.values) app.handle.destroy()
2119
logger.info("Applications shut down, exiting supervisor daemon")
2220
exitProcess(0)
2321
}

src/main/kotlin/supervisor/CarpoolSupervisorMain.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
package org.bread_experts_group.application_carpool.supervisor
22

3-
import org.bread_experts_group.application_carpool.rmi.Supervisor
43
import org.bread_experts_group.logging.ColoredLogger
54
import java.io.PrintStream
65
import java.lang.Integer.parseInt
7-
import java.lang.management.ManagementFactory
86
import java.nio.file.StandardOpenOption
97
import java.rmi.registry.LocateRegistry
10-
import java.rmi.server.UnicastRemoteObject
118
import java.util.logging.Level
129
import kotlin.io.path.Path
1310
import kotlin.io.path.createFile
@@ -18,7 +15,7 @@ import kotlin.system.exitProcess
1815
private val LOGGER = ColoredLogger.newLogger("Application Carpool Supervisor")
1916

2017
fun main(args: Array<String>) {
21-
val pid = ManagementFactory.getRuntimeMXBean().pid
18+
val pid = ProcessHandle.current().pid()
2219
val port = parseInt(args[1])
2320
val logDir = Path(args[2])
2421

@@ -33,8 +30,7 @@ fun main(args: Array<String>) {
3330
LOGGER.info("Starting supervisor daemon -- PID $pid")
3431

3532
var registry = LocateRegistry.getRegistry(port)
36-
val supervisor = CarpoolSupervisor(pid, LOGGER)
37-
val supervisorStub = UnicastRemoteObject.exportObject(supervisor, 0) as Supervisor
33+
val supervisorStub = CarpoolSupervisor(pid, LOGGER)
3834

3935
try {
4036
registry.bind("CarpoolSupervisor", supervisorStub)

0 commit comments

Comments
 (0)