Как повторно внедрить временное @ManagedProperty при десериализации?

Я использую Spring и JSF 2 для создания веб-приложения. Бизнес-объекты хранятся в контейнере Spring, и я вставляю их в Managed Beans с помощью @ManagedProperty, например:

@ManagedBean
@ViewScoped
public class SomeMB implements Serializable {
    private static final long serialVersionUID = 1L;

    @Getter @Setter
    @ManagedProperty("#{someService}")
    private SomeService someService;
    // ...

Проблема в том, что я продолжаю получать NotSerializableExceptionдля класса из Spring ( ServiceLocatorFactoryBean), что он используется компонентом SomeService.

Если я сделаю это transient, как я смогу выполнить его повторную инъекцию после десериализации?

Или какие другие способы решения этой проблемы?

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

7
задан Elias Dorneles 16 May 2012 в 12:05
поделиться