findItemByPIdEndDate()라는 항목 목록을 반환하고 MngtImpl.java 클래스에서 해당 메서드를 찾을 수있는 메서드가 있습니다. 지금은 시간당 그래서 여기에 말할 수, 매번 동안이 방법을 실행하고 싶은 것은 내가 지금까지했던 것입니다 :Java의 다른 클래스에서 메서드 실행 중 ... more 및
이 나는 문제가 이것으로 이제
import org.quartz.CronTrigger;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.JobDetail;
public class CronSchedule {
public CronSchedule()throws Exception {
SchedulerFactory sf=new StdSchedulerFactory();
Scheduler sched=sf.getScheduler();
JobDetail jd=new JobDetail("job1","group1",CronJob.class);
CronTrigger ct=new CronTrigger("cronTrigger","group2","0 * * * * ?");
sched.scheduleJob(jd,ct);
sched.start();
}
public static void main(String args[]){
try{
new CronSchedule(); //Class where cron is created
}catch(Exception e){}
}
}
CronSchedule.java
입니다 . 이 클래스는 위의 클래스에서 시간 제약 조건 (* 괄호)에 따라 호출되며 MngtImpl 클래스의 메서드를 실행합니다.import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.rosa.MngtImpl;
public class CronJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
try {
MngtImpl pers = new MngtImpl();
pers.findItemByPIdEndDate();
} catch (Exception e) {
e.printStackTrace();
}
}
}
위의 클래스에서 호출하려고하는 방법은 다음과 같습니다. 이 메소드는 MngtImpl.java 클래스 내에 있습니다.
public List<Long> findItemByPIdEndDate() throws Exception {
List<Long> list = null;
try{
Session session = sessionFactory.getCurrentSession();
Query query = session.getNamedQuery("endDateChecker");
list = query.list();
}catch (HibernateException e){
throw new DataAccessException(e.getMessage());
}
return list;
}
이제 제가하고 싶은 것이 있습니다. 이 방법은 위의 방법을 약간의 시간 (언제든지 지정할 수 있음)에 따라 실행해야합니다. 나는 bean factory xml 파일 안에 실제로이 인스턴스를 스케쥴러로 호출하고이 메소드를 호출해야한다. 나는 CronScheldule.java에서 CronJob.java를 호출하여 이것을 시도했다. 다른 클래스의 메소드를 호출하고 나는 작동하는지 아닌지 bean을 만들었다.
<bean id="cronSchedule" class="com.mypackage.CronSchedule">
</bean>
하지만 예상대로 작동하지 않으며 매우 복잡합니다. 코드를 사용하여 도움을받을 수 있습니까? 주셔서 감사합니다
나는 다음과 같은 예외가 발생할 :
java.lang.NullPointerException 11:10:46,410 ERROR [STDERR]
at com.packftc.RulesManager.exception(RulesManager.java:25) 11:10:46,410 ERROR [STDERR]
at org.drools.agent.RuleAgent$2.run(RuleAgent.java:442) 11:10:46,410 ERROR [STDERR]
at java.util.TimerThread.mainLoop(Unknown Source) 11:10:46,410 ERROR [STDERR]
at java.util.TimerThread.run(Unknown Source)
이 분명히 지금까지 zilion 것들처럼 해봤이 일을 잘못된 방법입니다 : 여기 간단한 단어에서 할 노력하고있어 것입니다, 매주 수 분마다 MngtImpl 클래스에서 findItemByPIdEndDate() 메서드를 실행하려고합니다. 메서드가 올바르게 작동합니다. 테스트를 작성하고 테스트를 통과합니다. 이제 어떻게해야합니까? 주셔서 감사합니다
질문의 표현은 약간 이해하기 쉽습니다 .- 기본 아이디어가있는 것 같습니다. 정확하게 작동하지 않는 것에 대해 좀 더 정확한 질문을하는 것이 좋습니다. – KLE
'하지만 예상대로 작동하지 않습니다 .' 미안하지만이 도움이되지 않습니다. 무엇을하고 있습니까? 또한 스프링을 사용하는 경우 - Quartz 용 멋진 래퍼가 있다고 생각했습니다. 시도해 보셨습니까? –
Quartz 용 멋진 래퍼가 있다고 생각했는데 시도해 보셨습니까? 그들? 어떤 사람, 나는 몰랐다. "하지만 예상대로 작동하지 않는다."나는리스트를 얻어야 만했다. 대신에 예외가 생겼다. Null Pointer – ant