Java: есть ли структура, которая позволяет динамически загружать и выгружать банки (но не OSGI)? - PullRequest
0 голосов
/ 21 октября 2009

Мне нужен механизм, который позволит динамически загружать и выгружать банки, а также вызывать класс активатора в банке. Я не хочу использовать OSGi из-за громоздкого механизма импорта / экспорта.

Ответы [ 3 ]

3 голосов
/ 21 октября 2009

Существует проект под названием Java Plugin Framework , который может быть тем, что вы ищете. На их веб-странице говорится, что проект является попыткой согласовать и расширить архитектуру плагинов Eclipse до OSGI. Это универсальная структура, не привязанная к приложениям SWT / для настольных компьютеров.

1 голос
/ 21 октября 2009

Вы можете использовать ClassLoader для динамической загрузки классов из файлов JAR. Когда вы динамически загрузили класс, вы можете явно вызвать подпрограмму инициализации, если это необходимо. Как и остальная часть Java, этот механизм является сборщиком мусора, поэтому нет способа явно выгружать JAR; JVM может освободить JAR, если на динамически загруженные классы больше нет ссылок и запущена сборка мусора.

0 голосов
/ 21 октября 2009

JavaRebel, но в основном подходит для разработки, а не для производственного развертывания. Если вы ищете альтернативу с открытым исходным кодом, вы можете выполнить этот вопрос .

...