Укажите классы для запуска в файле свойств? - PullRequest
2 голосов
/ 21 декабря 2011

Я создаю приложение, которое периодически запускается и отслеживает основные функции сервера (ОЗУ, дисковое пространство, сетевое подключение).

В надежде сделать его расширяемым, у меня есть интерфейс проверки, который будут реализованы всеми классами, выполняющими проверку.

Если в будущем будет запрошена новая проверка (например, проверка времени сервера), любой из моих коллег может написать свою собственную программу проверки, и приложение подберет ее и выполнит проверку.

В настоящее время все классы Checker, которые необходимо запустить, указаны в файле свойств.

Есть ли лучший способ указать, какие проверки должны выполняться?

Существуют ли какие-либо серьезные проблемы, которые я не вижу в текущей настройке?

Ответы [ 3 ]

2 голосов
/ 21 декабря 2011

По сути, файл .properties представляет собой конфигурацию для вашего монитора. В этом нет ничего плохого, и вы можете определить довольно сложную конфигурацию в файле .properties - взгляните на log4j.

Проблема может заключаться в том, как бы вы развивали конфигурацию, если вам нужно передать некоторые дополнительные параметры контролерам или самому монитору.

Итак, вы можете выбрать более выразительный формат конфигурации, который легко читать и поддерживать. Как упоминал Джигар, Spring можно использовать для абстрагирования конфигурации от кода вашего приложения (при условии, что вам нравится читать и поддерживать xml:)).

1 голос
/ 21 декабря 2011

Если число проверок, которое вам нужно выполнить, меньше 100, тогда файлы свойств выполнят эту работу. Если у вас больше 100, лучше использовать XML или даже JSON, в зависимости от того, что вам удобнее:)

1 голос
/ 21 декабря 2011

В настоящее время все классы Checker, которые необходимо запустить, указаны в файле свойств.

Есть ли лучший способ указать, какие проверки должны выполняться?

Существуют ли какие-либо серьезные проблемы, которые я не предвижу с нынешним Настройка

Spring делает это, вы можете изменить реализацию извне, не изменяя код из файла XML, а также имеет кварцевую поддержку для периодических заданий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...