Я должен создать POC для интеграции Кварца с Мулом. Я хочу создать простой поток, в котором простое электронное письмо («Hello World») должно отправляться определенным получателям каждые 5 минут. Не могли бы вы поделиться подробными шагами и конфигурацией для этого?
Я пробовал много разных примеров, перечисленных на разных сайтах, но ничего не получалось. Даже если мы пока что запустим простую работу по протоколированию, этого будет достаточно.
Ниже представлены мои mule-config.xml
и фрагменты Java-компонентов:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
...
...
">
<!-- Changes added for Quartz POC Start -->
<spring:bean name="myjob1"
class="com.sjm.quartzservice.NoArgsMethodComponent"/>
<service name="testService5">
<inbound>
<quartz:inbound-endpoint name="qEP5"
cronExpression="5 * * * * ?"
jobName="job5"
connector-ref="quartzConnector">
<quartz:event-generator-job/>
</quartz:inbound-endpoint>
</inbound>
<component>
<spring-object bean="myjob1"/>
</component>
</service>
<!-- Changes added for Quartz POC End -->
</mule>
Код компонента:
import java.util.logging.Level;
import java.util.logging.Logger;
import org.mule.api.MuleContext;
import org.mule.api.MuleEventContext;
import org.mule.api.MuleMessage;
import org.mule.api.lifecycle.Callable;
public class NoArgsMethodComponent implements Callable {
public String fireMe(MuleMessage muleMessage, MuleContext context)
{
Logger.getLogger(NoArgsMethodComponent.class.getName()).log(Level.INFO, "I got Scheduled!!!");
return "I got Scheduled!";
}
public Object onCall(MuleEventContext mec) throws Exception {
return (Object) fireMe(mec.getMessage(), mec.getMuleContext());
}
}