forked from geodmms/xdgnjobs

?? ?
2008-03-17 8cb0084749c5334eec1ec7bae4abd91e2de5b4b1
update for EOFM-20
4 files modified
2 files added
187 ■■■■■ changed files
.gitattributes 2 ●●●●● patch | view | raw | blame | history
ximple-jobcarrier/pom.xml 19 ●●●●● patch | view | raw | blame | history
ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java 50 ●●●●● patch | view | raw | blame | history
ximple-jobcarrier/src/main/resources/log4j.properties 15 ●●●●● patch | view | raw | blame | history
ximple-jobcarrier/src/main/resources/quartz.properties 28 ●●●●● patch | view | raw | blame | history
ximple-jobcarrier/src/main/resources/quartz_jobs.xml 73 ●●●●● patch | view | raw | blame | history
.gitattributes
@@ -37,6 +37,8 @@
ximple-jobcarrier/pom.xml svneol=native#text/xml
ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java svneol=native#text/plain
ximple-jobcarrier/src/main/resources/log4j.properties svneol=native#text/plain
ximple-jobcarrier/src/main/resources/quartz.properties svneol=native#text/plain
ximple-jobcarrier/src/main/resources/quartz_jobs.xml svneol=native#text/xml
ximple-jobcarrier/src/test/java/com/ximple/eofms/XQuartzJobCarrierTest.java svneol=native#text/plain
ximple-spatialjob/pom.xml svneol=native#text/xml
ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java svneol=native#text/plain
ximple-jobcarrier/pom.xml
@@ -273,7 +273,18 @@
      <artifactId>commons-collections</artifactId>
      <groupId>commons-collections</groupId>
    </dependency>
    <dependency>
      <groupId>commons-digester</groupId>
      <artifactId>commons-digester</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-pool</groupId>
      <artifactId>commons-pool</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
    </dependency>
    <dependency>
      <artifactId>log4j</artifactId>
      <groupId>log4j</groupId>
@@ -331,6 +342,12 @@
      <groupId>opensymphony</groupId>
    </dependency>
    <dependency>
      <groupId>javax.transaction</groupId>
      <artifactId>jta</artifactId>
      <version>1.0.1B</version>
    </dependency>
    <!-- Ximple Library -->
    <dependency>
      <artifactId>ximple-dgnio</artifactId>
ximple-jobcarrier/src/main/java/com/ximple/eofms/XQuartzJobCarrier.java
@@ -4,9 +4,14 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
import com.ximple.eofms.jobs.OracleConvertDgn2ShpJob;
/**
 * Hello world!
@@ -25,6 +30,7 @@
    public void startScheduler()
    {
        Scheduler scheduler = null;
        boolean shutdown = false;
        try
        {
@@ -39,7 +45,51 @@
        {
            // deal with any exceptions
            logger.error(ex);
            shutdown = true;
        } catch (Throwable throwable)
        {
            logger.error(throwable.getMessage(), throwable);
            shutdown = true;
        }
        if (shutdown)
        {
            try
            {
                scheduler.shutdown();
            } catch (SchedulerException e)
            {
                logger.error(e.getMessage(), e);
            }
        }
    }
    /*
     * return an instance of the Scheduler from the factory
     */
    public Scheduler createScheduler() throws SchedulerException
    {
        return StdSchedulerFactory.getDefaultScheduler();
    }
    // Create and Schedule a ScanDirectoryJob with the Scheduler
    private void scheduleJob(Scheduler scheduler) throws SchedulerException
    {
        // Create a JobDetail for the Job
        JobDetail jobDetail = new JobDetail("ScanDirectory", Scheduler.DEFAULT_GROUP,
                OracleConvertDgn2ShpJob.class);
        // Configure the directory to scan
        jobDetail.getJobDataMap().put("SCAN_DIR", "c:\\quartz-book\\input");
        // Create a trigger that fires every 10 seconds, forever
        Trigger trigger = TriggerUtils.makeSecondlyTrigger(10);
        trigger.setName("scanTrigger");
        // Start the trigger firing from now
        trigger.setStartTime(new Date());
        // Associate the trigger with the job in the scheduler
        scheduler.scheduleJob(jobDetail, trigger);
    }
}
ximple-jobcarrier/src/main/resources/log4j.properties
@@ -0,0 +1,15 @@
# Create stdout appender
log4j.rootLogger=error, stdout
# Configure the stdout appender to go to the Console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# Configure stdout appender to use the PatternLayout
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern output the caller's filename and line #
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# Print messages of level INFO or above for examples
log4j.logger.org.cavaness.quartzbook=INFO
log4j.logger.com.ximple.eofms=DEBUG
ximple-jobcarrier/src/main/resources/quartz.properties
New file
@@ -0,0 +1,28 @@
#===============================================================
#Configure Main Scheduler Properties
#===============================================================
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
#===============================================================
#Configure ThreadPool
#===============================================================
org.quartz.threadPool.threadCount =  5
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
#===============================================================
#Configure JobStore
#===============================================================
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
#===============================================================
#Configure Plugins
#===============================================================
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.validating=false
ximple-jobcarrier/src/main/resources/quartz_jobs.xml
New file
@@ -0,0 +1,73 @@
<?xml version='1.0' encoding='utf-8'?>
<quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData
        http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
        version="1.5">
  <job>
    <job-detail>
      <name>ConvertDgn2ShpIntoDirectory</name>
      <group>DEFAULT</group>
      <description>
        A job that convert dgn to shapefiles
      </description>
      <job-class>
        com.ximple.eofms.jobs.OracleConvertDgn2ShpJob
      </job-class>
      <volatility>false</volatility>
      <durability>false</durability>
      <recover>false</recover>
      <job-data-map allows-transient-data="true">
        <entry>
          <key>SHPDATA_DIR</key>
          <value>c:\temp\data</value>
        </entry>
        <entry>
          <key>ORAHOST</key>
          <value>192.168.11.119</value>
        </entry>
        <entry>
          <key>ORAINST</key>
          <value>ORCL</value>
        </entry>
        <entry>
          <key>ORAPORT</key>
          <value>1521</value>
        </entry>
        <entry>
          <key>ORAUSER</key>
          <value>spatialdb</value>
        </entry>
        <entry>
          <key>ORAPASS</key>
          <value>spatialdb000</value>
        </entry>
        <entry>
          <key>ORGSCHEMA</key>
          <value>SPATIALDB</value>
        </entry>
        <entry>
          <key>TESTMODE</key>
          <value>true</value>
        </entry>
      </job-data-map>
    </job-detail>
    <trigger>
      <simple>
        <name>convertTrigger</name>
        <group>DEFAULT</group>
        <job-name>ConvertDgn2ShpIntoDirectory</job-name>
        <job-group>DEFAULT</job-group>
        <start-time>2008-03-01T18:10:00</start-time>
        <!-- repeat indefinitely every 10 seconds -->
        <repeat-count>0</repeat-count>
        <repeat-interval>1000</repeat-interval>
        <!-- <repeat-interval>72000000</repeat-interval> -->
      </simple>
    </trigger>
  </job>
</quartz>