У меня довольно простой сценарий:
В моем приложении есть файл jar ядра, который содержит логику моего приложения.Этот основной jar-файл должен динамически наблюдать за папкой во время выполнения, и когда jar-файл плагина будет удален, он должен загрузить его и быть готовым к его использованию.Может быть много плагинов.
Какой, по вашему мнению, самый быстрый и наиболее удобный способ реализовать это?У меня есть 2 предложения:
1) Некоторый контейнер OSGi, Apache Felix File Install (чтобы посмотреть каталог для нового пакета).Принимая во внимание, что основная банка установлена как пакет в контейнер.
1.1. Проблема в том, как основной jar обнаруживает, что вновь установленный пакет является его плагином?Есть ли способ наблюдать за каждым добавленным пакетом и искать какие-то настройки с моей уникальной строкой, что-то вроде «kalazplugin»?Другими словами: как отличить мои комплекты плагинов?
2) Просто следите за каталогом на предмет изменений и, когда jar отбрасывается, загружайте его динамически с помощью URLClassLoader и реализуйте все это самостоятельно.Я мог бы потребовать какой-то файл конфигурации для каждого плагина, который бы указывал некоторые настройки, например ...