2012-04-20 24 views
11

नहीं कहा जाता है, मैं ग्लासफ़िश के अंदर अपना आवेदन चला रहा हूं।जावा ईई शेड्यूलर को

@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()"); 
    } 
} 

हालांकि, यह कभी नहीं कहा जाता है: मैं एक नौकरी है, जो इस तरह हर 5 मिनट में निष्पादित किया जाएगा बनाने की कोशिश की। मैंने लॉगर से एक संदेश देखने और डीबग पॉइंट सेट करने का प्रयास किया लेकिन इसे नहीं कहा जाएगा। मैंने इस प्रलेखन को वाक्यविन्यास के लिए उपयोग किया: http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html

मैंने मिनटों को बिल्कुल निर्दिष्ट करने का भी प्रयास किया। दुर्भाग्य से सफलता के बिना।

+0

ध्यान दें कि आप '@ LocalBean' एनोटेशन यहां जरूरत नहीं है। –

उत्तर

18

मुझे लगता है कि 0 (आधी रात) के लिए "घंटे" चूक है, तो आप के रूप में यह निर्दिष्ट करने की आवश्यकता हो सकती है:

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

आप बिल्कुल सही हैं। आपका बहुत बहुत धन्यवाद! दूसरे, घंटे और मिनट में अन्य गुणों की तरह "*" के बजाय डिफ़ॉल्ट मान "0" है। – Daniel

+0

यह मुझे हल करता है, लेकिन यह अजीब है क्योंकि डॉक्टर से मैं उस मिनट = "*/5" को स्पष्ट रूप से "*" पर सेट करना चाहिए। लेकिन नमसते .... – Kemoda

संबंधित मुद्दे