как прикрепить одноэлементные бобы Spring при десериализации
Я хочу повторно внедрить зависимости синглтона в прототипы Spring bean-компонентов после их десериализации.
Скажем, у меня есть бин Process, который зависит от бина Repository. Bean-компонент Repository является областью действия синглтона, но bean-компонент Process имеет область действия прототипа. Периодически я сериализую Процесс, а затем десериализую его.
class Process {
private Repository repository;
// getters, setters, etc.
}
Я не хочу сериализовать и десериализовать репозиторий. Я также не хочу помещать «переходный процесс» в переменную-член, которая содержит ссылку на нее в Process, или ссылку на какой-либо прокси-сервер, или что-либо иное, чем простая старая переменная-член, объявленная как Repository.
Я думаю, что я хочу, чтобы Процесс заполнил свою зависимость сериализуемым прокси, который указывает (с временной ссылкой) на Репозиторий, и, после десериализации, может снова найти Репозиторий. Как я могу настроить Spring для этого?
Я полагаю, что я мог бы использовать прокси для хранения ссылок на зависимости, как. Я бы хотел использовать именно эту технику. Но прокси-сервер, который я видел в Spring, не сериализуем, и в документах говорится, что если я использую его с одноэлементным компонентом, я получу исключение.
Я мог бы использовать настраиваемую область видимости, возможно, на одноэлементных компонентах, которая всегда предоставляла бы прокси-сервер при запросе для настраиваемого компонента. Это хорошая идея? Другие идеи?