Реализация: Использованные технологии и фреймворки при разработке:
- jdk 1.8
- maven-3.0.5
- gson-2.3.1.jar
- jgroups-3.6.0.Final.jar
- IntelliJ IDEA Проект собран Maven. В папке target содержится файл для запуска AviaSimulator-1.0-SNAPSHOT.jar. После запуска приложения программа каждые 10 секунд в консоль выводит лог с измененными параметрами летательных аппаратов (широта, долгота, высота, курс). Чтобы выйти из программы пользователь должен ввести quit или stop или exit.
Структура проекта: Проект содержит 3 пакета:
- Пакет dispatchcenter. В нем содержится класс DispatchCenter, который инкапсулирует Диспетчерский центр системы. В этом классе непосредственно реализовано логирование сообщений, приходящих от летательных аппаратов. Также реализован прием сообщений и организация списка сообщений и метод соединения с кластером "AviaSimulatorCluster".
- Пакет flyer. В этом пакете содержаться классы летательных аппаратов. Класс Flyer - летательный аппарат (родительский класс); и классы Helicopter и Aircraft (потомки Flyer). В классе Flyer реализован метод изменения параметров летательных аппаратов (прибавление дельты) и метод соединения с кластером.
- Пакет main. В этом пакете содержится главный класс Simulator с main методом. В этом классе реализована ключевая логика приложения - создание летательных аппаратов, таймеров для выполнения задач изменения параметров летательных аппаратов и логирования параметров, а также организация выхода из программы. Изменение параметров происходит раз в секунду. Логирование каждые 10 секунд, исходя из условия задачи.