Могу ли я изменить загрузчик контекстного класса потока, в то время как поток работает, например. настройка контекста внутри функции run()
?Изменение класса ClassLoader во время работы
Я искал через Google ответ, но ничего не нашел.
Могу ли я изменить загрузчик контекстного класса потока, в то время как поток работает, например. настройка контекста внутри функции run()
?Изменение класса ClassLoader во время работы
Я искал через Google ответ, но ничего не нашел.
Вы можете использовать Thread.setContextClassLoader(), если это позволяет менеджер безопасности. Вы должны очень осторожно, так как вы можете получить очень запутывающие результаты, и сообщение об ошибке, которое вы, как правило, получаете, не всегда полезно.
Я предлагаю вам начать новую тему с помощью другого загрузчика классов.
... я могу изменить загрузчик контекстного класса внутри функции run()? это законно? теперь в потоке будут загружаться классы в загрузчик нового класса, хотя, когда он был создан, он загружал классы с разным загрузчиком классов? – Jonathan
Кстати, мне не нужны какие-либо рекомендации; это не код, который я написал. я просто хочу знать, является ли его законным. – Jonathan
Его законный, но хитрый, чтобы получить право таким образом ИМХО. Если это сработает, я бы об этом не беспокоился. Если вы получаете странные ошибки при запуске, это может быть причиной. –
Зачем вам это нужно? Какую программную функцию вы пытаетесь предложить, «меняя класс-загрузчики»? –
На самом деле, я не знаю. Я видел его в существующем коде и прежде чем исследовать цели этого фрагмента кода, я подумал, что это может быть незаконным .... – Jonathan