Здравствуйте, dshe, Вы писали:
D>Извини, но у меня сложилось впечатление, что ты занимаешься извратом. Вполне возможно, что для решения твоей основной задачи тебе не нужны хитрые мансы с класслоадерами. Если тебе нужно передать класс по сети, то почему бы его не запаковать в jar как и все остальные классы и скачать тем же Web Start'ом?
Дело в том, что я использую Java web start не в полной мере.
Де факто я использую jaws только для того, чтобы получить имя сервера, с которого бралась программа
(BasicService.getCodeBase().getHostName()).
Я хотел, чтобы классы брались из изменяемого во время работы программы источника.
Скажем из папки BOOM/Server/ActionClasses/*.class
где * имя формы для действия, берётся из БД,
Это сейчас имя класса берётся из самого класса. потом это изменю так,
чтобы он не сам класс принимал в конструкторе, а просто имя.
D>Опиши проблему со Swing'ом, из-за которой ты решил передавать классы по сети таким образом.
Сначала я передавал Swing-формы как есть, и принимая, проверял объекты на instanceof.
Но так как swing не приспособлен для long term persistence, согласно документации...
Это выглядело как ошибка при приёме объекта, про разные serial у класса javax.swing.JComponent. — т.е. JComponent в 1.3.1 (версиимя в которой компилирую и запускаю сервер) и в 1.4.2.06 (версия где запускается клиент).
Мне нужна защита от "разных версий свинга" у сервера и у клиента.
И динамизм нужен. Чтобы форму например логина можно было поменять. Или добавить новую — скажем расширенный поиск автомобилейв бд. Без остановки сервера. Копируешь класс формы — и регистрируешь её в бд.
while(Life.getClass().getClassLoader()==Religion.GOD){Life.be();};
Скажи .net корпорации Microsoft! (c) ghostwolf 2004
7 раз поищи в стандартной библиотеке, 1 раз накодь своё.