Утилизация заводского образца весной? - PullRequest
0 голосов
/ 06 февраля 2012

Я могу использовать фабричный бин для создания другого боба в Spring. Можно ли уничтожить (уничтожить) боб, передав его другому?

Например, у меня есть боб Database, который служит фабрикой для Corpus бобов:

<bean id="Corpus" name="Corpus" factory-bean="Database"
    factory-method="loadCorpus">
</bean>

После loadCorpus база данных считывает данные с сервера и возвращает их как объект корпуса.

Теперь я хочу внести некоторые изменения в корпус и вернуть их в базу данных в конце срока жизни программы.

Было бы логично сделать это в процессе «утилизации» корпуса, передав его обратно в базу данных для утилизации.

Но я не вижу параметров конфигурации для этого. Хотя создание может быть установлено как с помощью bean-компонента, так и метода, уничтожение возможно только с помощью метода.

Как тогда достичь своей цели?

1 Ответ

1 голос
/ 06 февраля 2012

Заставьте ваш компонент базы данных сохранить ссылку на экземпляр Corpus, который он создает, и сделайте его одноразовым . Таким образом, когда контейнер останавливается, вызывается метод уничтожения компонента Database, который может сохранить все изменения, внесенные в созданные им экземпляры Corpus.

...