как прикрепить одноэлементные бобы Spring при десериализации

Я хочу повторно внедрить зависимости синглтона в прототипы Spring bean-компонентов после их десериализации.

Скажем, у меня есть бин Process, который зависит от бина Repository. Bean-компонент Repository является областью действия синглтона, но bean-компонент Process имеет область действия прототипа. Периодически я сериализую Процесс, а затем десериализую его.

class Process {
   private Repository repository;
   // getters, setters, etc.
}

Я не хочу сериализовать и десериализовать репозиторий. Я также не хочу помещать «переходный процесс» в переменную-член, которая содержит ссылку на нее в Process, или ссылку на какой-либо прокси-сервер, или что-либо иное, чем простая старая переменная-член, объявленная как Repository.

Я думаю, что я хочу, чтобы Процесс заполнил свою зависимость сериализуемым прокси, который указывает (с временной ссылкой) на Репозиторий, и, после десериализации, может снова найти Репозиторий. Как я могу настроить Spring для этого?

Я полагаю, что я мог бы использовать прокси для хранения ссылок на зависимости, как. Я бы хотел использовать именно эту технику. Но прокси-сервер, который я видел в Spring, не сериализуем, и в документах говорится, что если я использую его с одноэлементным компонентом, я получу исключение.

Я мог бы использовать настраиваемую область видимости, возможно, на одноэлементных компонентах, которая всегда предоставляла бы прокси-сервер при запросе для настраиваемого компонента. Это хорошая идея? Другие идеи?

Ответы на вопрос(6)

Ваш ответ на вопрос