Quartz add-on - exception

I have a composite project where I want to use Quartz add-on.

After I have added, I am getting the following errors when try to run it.

Caused by: org.quartz.SchedulerConfigException: Failure occured during job recovery.
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:697) ~[quartz-2.3.2.jar:na]
	at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:539) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.StdScheduler.start(StdScheduler.java:142) ~[quartz-2.3.2.jar:na]
	at org.springframework.scheduling.quartz.SchedulerFactoryBean.startScheduler(SchedulerFactoryBean.java:730) ~[spring-context-support-6.0.9.jar:6.0.9]
Caused by: org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler

	at org.springframework.scheduling.quartz.SchedulerFactoryBean.start(SchedulerFactoryBean.java:802) ~[spring-context-support-6.0.9.jar:6.0.9]
	... 14 common frames omitted
Caused by: org.quartz.JobPersistenceException: Couldn't store trigger 'DEFAULT.emailSendingCronTrigger' for 'DEFAULT.emailSending' job:Couldn't retrieve job because a required class was not found: io.jmix.autoconfigure.email.job.EmailSendingJob
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1228) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1042) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:991) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:871) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$1.executeVoid(JobStoreSupport.java:843) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3780) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3778) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3864) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:839) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:695) ~[quartz-2.3.2.jar:na]
	... 18 common frames omitted
Caused by: org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: io.jmix.autoconfigure.email.job.EmailSendingJob
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1393) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1210) ~[quartz-2.3.2.jar:na]
	... 27 common frames omitted
Caused by: java.lang.ClassNotFoundException: io.jmix.autoconfigure.email.job.EmailSendingJob
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]
	at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
	at java.base/java.lang.Class.forName(Class.java:467) ~[na:na]
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-6.0.9.jar:6.0.9]
	at org.springframework.scheduling.quartz.ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:81) ~[spring-context-support-6.0.9.jar:6.0.9]
	at org.springframework.scheduling.quartz.ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:87) ~[spring-context-support-6.0.9.jar:6.0.9]
	at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:852) ~[quartz-2.3.2.jar:na]
	at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1390) ~[quartz-2.3.2.jar:na]
	... 28 common frames omitted

Caused by: org.quartz.SchedulerConfigException: Failure occured during job recovery.

Caused by: org.quartz.JobPersistenceException: Couldn't store trigger 'DEFAULT.emailSendingCronTrigger' for 'DEFAULT.emailSending' job:Couldn't retrieve job because a required class was not found: io.jmix.autoconfigure.email.job.EmailSendingJob

Caused by: org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: io.jmix.autoconfigure.email.job.EmailSendingJob

Caused by: java.lang.ClassNotFoundException: io.jmix.autoconfigure.email.job.EmailSendingJob

I am using all the latest versions of the platform and the studio as of today.

Is it a bug?

Please ensure that you have email sending add-on starter on the classpath:

Caused by: java.lang.ClassNotFoundException: io.jmix.autoconfigure.email.job.EmailSendingJob
1 Like

Hi @gorbunkov ,

Thanks for the clarifications but…

I already add in my gradle

implementation ‘io.jmix.email:jmix-email-ui-starter’
implementation ‘io.jmix.email:jmix-email-starter’

after i run my application i received this error:

2024-01-31 09:55:00 - Unable to send email to ‘test@gmail.com’
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn’t connect to host, port: test.host, 25; timeout 20000;

can show me how to solve this issue.

Regards,
Syamil

Hi,

I guess that you haven’t configured connection parameters for your SMTP server. See docs for details.