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