![](/img/trans.png)
[英]Why I get Unsatisfied dependency at @Autowired org.quartz.Scheduler?
[英]No value for 'org.quartz.scheduler.instanceId'
我有一個應用程序戰爭的問題,應用程序不是我制作的,應用程序可以工作,但是當導入到 eclipse 並使用附加的 tomcat 和 java 庫 1.8.0_321 導出時,它不起作用,我沒有更改任何內容應用,如import,export,報錯如下:
INFO main org.quartz.impl.StdSchedulerFactory - 使用 ThreadExecutor 的默認實現 ERROR main org.quartz.impl.StdSchedulerFactory - 無法生成實例 ID。 org.quartz:SchedulerException。 未找到“org.quartz.scheduler,instanceId”系統屬性的值,請相應地配置您的環境!
附件 systemprops.jsp:
<div id="page" style="float:left;position:relative;left:60px; top:10px;font-size:1.0em;font-weight: 300; font-family:Helvetica, Arial, sans-serif;">
<div id="javasys">
<%
out.println("<table width=600 border=0>");
out.println("<tr>");
out.println("<td width=150><b>PROPERTY</b></td>");
out.println("<td width=450><b>VALUE</b></td>");
out.println("</tr>");
out.println("<tr>");
Properties props = System.getProperties();
Enumeration as = props.propertyNames();
while (as.hasMoreElements()) {
Object o = as.nextElement();
String key = (String) o;
out.println("<td width=150><b>" + key + "</b></td>");
String val = props.getProperty(key);
StringTokenizer st = new StringTokenizer(val, ":");
out.println("<td width=450>");
while (st.hasMoreTokens()) {
String valind = st.nextToken();
out.println(valind + "<BR>");
}
out.println("</td>");
out.println("</tr>");
}
out.println("</table>");
%>
</div>
我不是程序員,但我認為它可以來自這里:Enumeration as = props.propertyNames();
在 eclipse 中,它在枚舉中有一個警告 as = props.propertyNames(); 枚舉是原始類型,對泛型枚舉的引用應該被參數化,這不是我有這個錯誤的唯一代碼部分
正如文檔所說:
org.quartz.scheduler.instanceId
可以是任何字符串,但對於所有工作的調度程序必須是唯一的,就好像它們是集群中的相同“邏輯”調度程序一樣。 如果您希望為您生成 ID,您可以使用值“AUTO”作為 instanceId。 或者如果您希望值來自系統屬性“org.quartz.scheduler.instanceId”,則值“SYS_PROP”。
問題是在 quartz.properties 中org.quartz.scheduler.instanceId
被設置為SYS_PROP
,但是你還沒有將這個設置定義為系統屬性。 從您在帖子中顯示的錯誤消息中可以明顯看出這一點:
未找到“org.quartz.scheduler.instanceId”系統屬性的值,請相應地配置您的環境!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.