2016-04-05 10 views
1

Team,@scheduled werfen Ausnahme für Cron Ausdruck

Ich habe den Cron-Ausdruck in der Eigenschaftendatei. Dann habe ich versucht, diesen Cron-Ausdruck aus einer Java-Datei wie gezeigt zu beziehen.

@Scheduled(cron= "${cron.expression}") 
    public void test(){ 
    ... 
    } 

Es warf mich den folgenden Fehler:

Cron expression must consist of 6 fields (found 1 in "${cron.expression}" 

Ich bin neu in diesem Scheduler. Bitte beachten Sie, wie Sie diesen Ausdruck konfigurierbar machen können.

Dank

+0

Was ist Ihr Cron-Ausdruck in der Eigenschaftendatei? –

+1

Wie haben Sie Ihre Eigenschaftendatei konfiguriert? –

+0

cron.expression = 0 0/15 * * * * Dies ist der Cron-Ausdruck in meiner Eigenschaftendatei. – Zeeshan

Antwort

2

Ich habe folgendes in meiner AppConfig Java-Datei.

@Bean 
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { 
     return new PropertySourcesPlaceholderConfigurer(); 
    } 

Ohne die PropertySourcesPlaceholderConfigurer, können wir die Eigenschaften Autowired Umgebungsvariablen nur mit Datei zugreifen. Mit dem PropertySourcesPlaceholderConfigurer können wir Variablen der Eigenschaftendatei mit $ {..} verwenden.

Mit dieser Logik begann mein Code wie ein Charme zu arbeiten.

Danke für Ihre Antworten @ S.B und @RaphaelRoth.