Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.0.0, 3.1.0
-
Fix Version/s: 3.1.3 (EE only), 3.2.0
-
Component/s: Transport: Quartz
-
Labels:None
-
Environment:
java 1.6.0_22, Linux
-
User impact:Medium
-
Log Output:
-
Similar Issues:None
Description
Define two separate Mule applications, each with a quartz inbound endpoint, e.g.:
<quartz:inbound-endpoint jobName="job1" cronExpression="0 0/1 * ? * *">
<quartz:event-generator-job>
<quartz:payload>job1</quartz:payload>
</quartz:event-generator-job>
</quartz:inbound-endpoint>
(See quartz.jobs.tar.gz in http://forums.mulesoft.org/thread.jspa?threadID=4550)
When the second application is deployed, the timer in the first application produces only the following:
INFO 2011-01-13 17:46:00,018 QuartzScheduler_Worker-5 org.quartz.core.JobRunShell: Job mule.quartz://job1 threw a JobExecutionException: org.quartz.JobExecutionException: No receiver with key "connector.quartz.0" could be found in connector "quartz://job1" at org.mule.transport.quartz.jobs.EventGeneratorJob.execute(EventGeneratorJob.java:81) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
... and the remainder of the application doesn't execute.
If a quartz connector is explicitly declared, then its name is used instead of "quartz://job1", but the message is similar.
A workaround has each application creating its own scheduler(factory):
<quartz:connector name="quartz.connector" scheduler-ref="scheduler1"/>
<spring:bean id="scheduler1" factory-bean="scheduler.factory1" factory-method="getScheduler"/>
<spring:bean id="scheduler.factory1" class="org.quartz.impl.StdSchedulerFactory">
<spring:constructor-arg>
<spring:props>
<spring:prop key="org.quartz.scheduler.instanceName">scheduler1</spring:prop>
<spring:prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</spring:prop>
<spring:prop key="org.quartz.threadPool.threadCount">1</spring:prop>
</spring:props>
</spring:constructor-arg>
</spring:bean>
(See quartz.jobs.solution.tar.gz in http://forums.mulesoft.org/thread.jspa?threadID=4550)