How to configure quartz scheduler with spring-style properties file in Tomcat?
Solution 1
Over a year later I know, but hopefully useful to somebody: you can accomplish this by setting the properties inside your Spring context xml:
<bean name="schedulerFactory" depends-on="flyway" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="quartzProperties">
<map>
<entry key="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool" />
<entry key="org.quartz.jobStore.useProperties" value="true" />
<entry key="org.quartz.jobStore.class" value="org.quartz.impl.jdbcjobstore.JobStoreTX" />
<entry key="org.quartz.jobStore.driverDelegateClass" value="org.quartz.impl.jdbcjobstore.StdJDBCDelegate" />
<entry key="org.quartz.jobStore.tablePrefix" value="QRTZ_" />
<entry key="org.quartz.jobStore.dataSource" value="qzDS" />
<entry key="org.quartz.dataSource.qzDS.jndiURL" value="java:comp/env/jdbc/${jndi.dataSource}"/>
</map>
</property>
<property name="applicationContextSchedulerContextKey">
<value>applicationContext</value>
</property>
</bean>
Notice I've put most of the JobStore-related properties in here as they seem to need to be in the same place. There is still some other configuration in the usual quartz.properties file.
Solution 2
You can set the configLocation
in your SchedulerFactoryBean:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="configLocation" value="classpath:quartz.properties" />
[...]
</bean>
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Admin
Updated on June 26, 2022Comments
-
Admin about 2 years
I have a web application on Apache Tomcat. The web application uses the Quartz Scheduler. I load the
quartz.properties
from the classpath with the-D
switch which contains the following properties:quartz.jndi=java:comp/env/something org.quartz.dataSource.myJndiName.jndiURL=${quartz.jndi}
But it isn't working. Maybe, the
${quartz.jndi}
only works in Spring Context with thePropertyPlaceholderConfigurer
bean? Is it possible to load this properties file in Spring for the Quartz Scheduler? -
OJVM about 6 yearsIt help me to solve the message UpdateChecker [Quartz version update check failed: java.io.IOException: every time the server started up. i added this
<entry key="org.quartz.scheduler.skipUpdateCheck" value="true"/>