Я новичок в планировании задач с помощью Quartz API JAVA.В настоящее время я разрабатываю веб-сервис с использованием API Джерси.Веб-сервис работает в Apache Tomcat 9. Для своих нужд я должен планировать периодические задачи.Но тест, который я выполняю, похоже, не работает.
Это содержимое класса App, которое запускает планировщик с основной задачей.
import org.glassfish.jersey.servlet.ServletContainer;
import org.glassfish.jersey.servlet.WebConfig;
import org.quartz.*;
import org.quartz.impl.JobDetailImpl;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.triggers.SimpleTriggerImpl;
import javax.servlet.ServletException;
import java.util.Date;
import java.util.logging.Logger;
public class App extends ServletContainer
{
public class CustomJob implements Job
{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException
{
Logger.getLogger("").info("date : "+ new Date().toLocaleString());
}
}
protected void init(final WebConfig webConfig) throws ServletException
{
super.init(webConfig);
StdSchedulerFactory factory = new StdSchedulerFactory() ;
try
{
Scheduler scheduler = factory.getScheduler();
//Creating Job and link to our Job class
JobDetailImpl jobDetail = new JobDetailImpl();
jobDetail.setName("First Job");
jobDetail.setJobClass(CustomJob.class);
//Creating schedule time with trigger
SimpleTriggerImpl simpleTrigger = new SimpleTriggerImpl();
simpleTrigger.setStartTime(new Date(System.currentTimeMillis() + 1000));
simpleTrigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
simpleTrigger.setRepeatInterval(3200);
simpleTrigger.setName("FirstTrigger");
scheduler.scheduleJob(jobDetail, simpleTrigger);
scheduler.start();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
My web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>opentrade</display-name>
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
com.blitzdev.opentrade.App
</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.blitzdev.opentrade.rest</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
-->
</web-app>