From 9cefd3bfc18d0706e6cd3b3595b36d9074a320f3 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 10 Apr 2013 09:03:37 +0200 Subject: o Initial import. --- src/main/java/io/trygvis/Main.java | 93 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100755 src/main/java/io/trygvis/Main.java (limited to 'src/main/java/io/trygvis/Main.java') diff --git a/src/main/java/io/trygvis/Main.java b/src/main/java/io/trygvis/Main.java new file mode 100755 index 0000000..c25b0d9 --- /dev/null +++ b/src/main/java/io/trygvis/Main.java @@ -0,0 +1,93 @@ +package io.trygvis; + +import io.trygvis.model.*; +import org.hibernate.dialect.*; +import org.quartz.*; +import org.quartz.impl.*; +import org.quartz.impl.triggers.*; +import org.slf4j.*; +import org.slf4j.bridge.*; +import org.springframework.beans.factory.annotation.*; +import org.springframework.context.support.*; +import org.springframework.stereotype.*; +import org.springframework.transaction.annotation.*; + +import javax.persistence.*; +import java.text.*; +import java.util.*; + +import static java.lang.System.*; + +@Component +@Transactional +public class Main { + private static final Logger log = LoggerFactory.getLogger(Main.class); + + public static void main(String[] args) + throws Exception { + SLF4JBridgeHandler.install(); + + String username = getProperty("user.name"); + setProperty("database.url", "jdbc:postgresql://localhost/" + username); + setProperty("database.username", username); + setProperty("database.password", username); + setProperty("hibernate.showSql", "true"); + setProperty("hibernate.hbm2ddl.auto", "validate"); // create + setProperty("hibernate.dialect", PostgreSQL82Dialect.class.getName()); + + log.info("Starting context"); + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); + context.start(); + log.info("Started context"); + + context.getBean(Main.class).run(); + + Thread.sleep(1000 * 1000); + +// log.info("Sleeping"); +// Thread.sleep(10 * 1000); + + log.info("Stopping context"); + context.stop(); + log.info("Stopped context"); + + exit(0); + } + + @PersistenceContext + private EntityManager entityManager; + + @Autowired + private Scheduler scheduler; + + public void run() throws Exception { + log.info("Main.run"); + + JobKey jobKey = JobKey.jobKey("create-article"); + + boolean b = scheduler.checkExists(jobKey); + log.info("checkExists: {}", b); + + if(!b) { + JobDetailImpl jobDetail = new JobDetailImpl(); + jobDetail.setKey(jobKey); + jobDetail.setDurability(true); + jobDetail.setJobClass(MyJob.class); + scheduler.addJob(jobDetail, true); + } + + TriggerKey triggerKey = TriggerKey.triggerKey("my-trigger"); + boolean b1 = scheduler.checkExists(triggerKey); + log.info("checkExists: {}", b1); + if(!b1) { + CronTriggerImpl trigger = new CronTriggerImpl(); + trigger.setName("my-trigger"); + trigger.setJobKey(jobKey); + trigger.setCronExpression("0/10 * * * * ?"); + scheduler.scheduleJob(trigger); + } + +// Article article = new Article(new Date(), null, "title", "body"); +// entityManager.persist(article); + } +} -- cgit v1.2.3