2010-12-21 21 views
7

Uygulamamdaki anında görev oluşturmam gerekiyor. Bunu nasıl yapabilirim? @autowired ek açıklama ile zamanlayıcı alabilirim, ancak zamanlayıcı Runnable nesnesi alır. Spring nesneleri vermem gerekiyor, böylece görevlerim de @autowired ek açıklamasını kullanabilir.Spring Framework görevi programlı olarak oluşturuluyor mu?

@Autowired private TaskScheduler taskScheduler; 

cevap

16

Bunu sadece Runnable da hedef nesneyi kaydırmak ve göndermeniz gerekmektedir: Ben bu bağlamda hedef erişemez

private Target target; // this is a Spring bean of some kind 
@Autowired private TaskScheduler taskScheduler; 

public void scheduleSomething() { 
    Runnable task = new Runnable() { 
     public void run() { 
      target.doTheWork(); 
     } 
    }; 
    taskScheduler.scheduleWithFixedDelay(task, delay); 
} 
+0

. Eclipse, sytnax hatası verdi. – newbie

+1

@newbie: Evet, size genel bir fikir verdim, çalışma kodu değil. – skaffman

+0

problemi sovled, Görev sınıfım için Runnable'ı ekledim (aka hedef) – newbie

İlgili konular