«Обнаружение» и загрузка «плагинов» в GAE - PullRequest
1 голос
/ 24 апреля 2010

У меня есть "подобная плагину" архитектура, и я хочу создать один экземпляр каждого класса, который реализует выделенный интерфейс, и поместить их в кеш. (Чтобы иметь эффект синглтона).

Плагины будут предоставлены в виде jar-файлов и помещены в файл war для движка приложения до загрузки приложения.

Я пытался использовать ClassPathScanningCandidateComponentProvider, так как я все равно использую Spring, но это не сработало. Поставщик пожаловался, что не смог найти файл класса HttpServletResponse при сканировании пути к классам. Я не могу обойти это, когда я добавляю банку сервлета, тогда у меня, конечно, возникают проблемы, потому что тот же самый банку также предоставляет GAE. Если я этого не сделаю, я получаю ошибку выше ...

Поэтому я попытался добавить статический код инициализации, но, конечно, это не работает, потому что класс инициализируется, когда он создается в первый раз. (Ну, я знал это, но это стоило попробовать)

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

Есть что-то, чего мне не хватает?

1 Ответ

1 голос
/ 26 апреля 2010

ОК, думаю, я попытаюсь написать свой собственный загрузчик классов. Таким образом, я мог бы даже поместить плагины в хранилище данных и определить все необходимые классы и т. Д.

: -)

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