У меня есть простое приложение, которое использует Spring 3 для инъекции зависимостей. У меня есть JFrame для просмотра пользователем и некоторые фоновые задачи для синхронизации с внутренним сервером и локальной базой данных.
Это важная часть моего контекста приложения:
<task:scheduler id="scheduler" pool-size="1"/>
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="synchronizer" method="incrementalSync" fixed-delay="600000"/>
... more tasks ...
</task:scheduled-tasks>
<bean id="mainFrame" class="nl.gdries.myapp.client.ui.MainFrame">
... properties and such ...
</bean>
Когда я запускаю этот applicationContext, планировщик сразу же начинает выполнение фоновых задач, даже когда мой пользовательский интерфейс загружается. Поскольку первая задача довольно тяжелая в начале, я хочу, чтобы пользователь дождался полной загрузки и отображения пользовательского интерфейса перед тем, как он начнет выполнение.
Кто-нибудь знает, как сообщить Spring отсрочить выполнение запланированных задач до момента моего выбора?