我正在與一個STS Web應用程序中的cron工作,我正在開發和我試圖在cron計時器上運行SpringMailSender時出現字符串格式問題。我從外部屬性文件中提取cron的值,出於某種原因,它似乎並不喜歡它。有任何想法嗎?這裏是我的代碼...cron問題與「無法解析佔位符」
public class Timer {
@Autowired
private ApplicationContext ctx;
@Autowired
private SpringMailSender springMailSender;
@Scheduled(cron="${ctx.getMessage('timer.time', null, null)}")
public void timer()
{
System.out.println("timer() in Timer Class has been stepped into");
try {
springMailSender.sendMail();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Method executed on every 2nd Monday of each month. Current time is :: "+ new Date());
}
}
在外部屬性文件看起來像這樣的信息...
timer.time=0 0 8 ? 1/1 MON#2 *
我得到的錯誤是這樣的......
"java.lang.IllegalStateException: Encountered invalid @Scheduled method 'timer': Could not resolve placeholder 'ctx.getMessage('timer.time', null, null)' in string value "${ctx.getMessage('timer.time', null, null)}"
可能重複的[無法解決Spring屬性佔位符](http://stackoverflow.com/questions/4779572/could-not-resolve-spring-property-placeholder) – ruhungry
我認爲你正在尋找'#{ ...}'。 –
爲什麼你不使用'PlaceHolderConfigurer'和'$ {timer.time}'來代替嘗試濫用'MessageSource'來獲取屬性。 –