¿Actualización a springframework.scheduling.concurrent?

A partir de Spring 3.0, el ScheduledTimerTask está en desuso y no puedo entender cómo actualizar a org.springframework.scheduling.concurrent.

    <bean id="timerFactoryBean" class="org.springframework.scheduling.timer.TimerFactoryBean">
        <property name="scheduledTimerTasks">
            <list>
                 <ref bean="onlineTimeSchedule" />
            </list>
            </property>
    </bean>

    <bean id="onlineTimeSchedule" class="org.springframework.scheduling.timer.ScheduledTimerTask">
        <property name="timerTask" class="com.example.OnlineTimerTask" />
        </property>
        <property name="period" value="60000" />
        <property name="delay" value="1000" />
    </bean>

Donde OnlineTimerTask extiende java.util.TimerTask. Es una tarea simple que publica un mensaje al editor cada minuto. Verifiqué la documentación, pero nada ... No puedo entender qué forma usar del paquete concurrente y cuál se adapta mejor.

También quiero convertir este xml en @Bean en Java.

EDITAR Así que intenté implementar el xml con @Bean y @Configuration en su lugar y esto es lo que obtuve.

@Configuration
public class ContextConfiguration {
    @Bean
    public ScheduledExecutorFactoryBean scheduledExecutorFactoryBean() {
        ScheduledExecutorFactoryBean scheduledFactoryBean = new ScheduledExecutorFactoryBean();
        scheduledFactoryBean.setScheduledExecutorTasks(new ScheduledExecutorTask[] {onlineTimeSchedule()});

        return scheduledFactoryBean;
    }

    @Bean
    public ScheduledExecutorTask onlineTimeSchedule() {
        ScheduledExecutorTask scheduledTask = new ScheduledExecutorTask();
        scheduledTask.setDelay(1000);
        scheduledTask.setPeriod(60000);
        scheduledTask.setRunnable(new OnlineTimerTask());

        return scheduledTask;
    }
}

¿Será el código anterior el reemplazo correcto para xml? ¿En mi caso, setScheduledExecutorTasks funcionará correctamente? Quiero decir, ¿la referencia a la misma instancia de bean, si se llama a onlineTimeSchedule () más de una vez, funcionará aquí?

scheduledFactoryBean.setScheduledExecutorTasks(new ScheduledExecutorTask[] {onlineTimeSchedule()});

Respuestas a la pregunta(3)

Su respuesta a la pregunta