Я ищу способ перезагрузить класс в Java во время выполнения. Мотивация - сделать отладку более эффективной. Приложение представляет собой типичный клиент-серверный дизайн, который синхронно обрабатывает запросы. Объект «обработчик» создается для каждого запроса. Это единственный класс, который я намерен заменить динамически. Поскольку каждый запрос имеет дело со свежим экземпляром, перезагрузка этого класса не будет иметь побочных эффектов. Короче говоря, я не хочу перезапускать все приложение каждый раз, когда происходит изменение этого модуля.
В моем проекте процессу Java становится известно, что файл .class обновлялся в пути к классам между запросами. Когда это происходит, класс «обработчик» выгружается и загружается новый.
Я знаю, что могу использовать интерфейс classLoader для загрузки в новый класс. Кажется, у меня возникают проблемы с поиском правильного способа «разгрузки».