2012-04-20 12 views
11

olarak adlandırılmıyor Uygulamamı Glassfish içinde çalıştırıyorum. Her 5 dakikada bir icra edilecek bir iş yaratmaya çalıştım:Java EE Zamanlayıcısı

@Startup 
@Singleton 
@LocalBean 
public class TempFolderCleaner { 
    private final static Logger LOGGER = LoggerFactory.getLogger(TempFolderCleaner.class); 

    @EJB 
    private ReportStatusDao reporStatusDao; 

    @Schedule(minute = "*/5") 
    public void removeOldReports() { 
     LOGGER.debug("start removeOldReports()"); 
    } 
} 

Ancak, hiçbir zaman aranmaz. Kaydediciden bir mesaj görmeye ve bir hata ayıklama noktası oluşturmaya çalıştım ancak çağrılmayacak. Bu belgeyi sözdizimi için kullandım: http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html

Ayrıca dakikaları tam olarak belirtmeye çalıştım. Ne yazık ki başarıya da gerek yok.

+0

Not. –

cevap

18

ben 0 (gece yarısı) için "saat" varsayılan düşünüyorum, bu yüzden olarak belirtmeniz gerekebilir: Burada `@ LocalBean` ek açıklama gerekmez

@Schedule(minute = "*/5", hour="*") 
+0

kesinlikle haklısın. Çok teşekkürler! İkinci, saat ve dakika, diğer özellikler gibi "*" yerine "0" varsayılan değerine sahiptir. – Daniel

+0

Bu beni çözdü, ancak doktora göre bu dakika garipti çünkü bu dakika = "*/5" ifadesini açıkça "*" olarak ayarlamanız gerekir. Ama hey .... – Kemoda