⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db2v7delegate.java

📁 定时器开源项目, 相对于 jcrontab, Quartz 算是更完整的一个项目, 随著开发的版本上来, 他已经脱离只是写在程序里面的计时器, 在指定的时间或区间, 处理所指定的事件. 也加入了 se
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            ps.setString(1, trigger.getJobName());            ps.setString(2, trigger.getJobGroup());            ps.setString(3, toBooleanIntString(trigger.isVolatile()));            //ps.setBoolean(3, trigger.isVolatile());            ps.setString(4, trigger.getDescription());            long nextFireTime = -1;            if (trigger.getNextFireTime() != null) {                nextFireTime = trigger.getNextFireTime().getTime();            }            ps.setBigDecimal(5, new BigDecimal(String.valueOf(nextFireTime)));            long prevFireTime = -1;            if (trigger.getPreviousFireTime() != null) {                prevFireTime = trigger.getPreviousFireTime().getTime();            }            ps.setBigDecimal(6, new BigDecimal(String.valueOf(prevFireTime)));            ps.setString(7, state);            if (trigger instanceof SimpleTrigger) {                //					  updateSimpleTrigger(conn, (SimpleTrigger)trigger);                ps.setString(8, TTYPE_SIMPLE);            } else if (trigger instanceof CronTrigger) {                //					  updateCronTrigger(conn, (CronTrigger)trigger);                ps.setString(8, TTYPE_CRON);            } else {                //					  updateBlobTrigger(conn, trigger);                ps.setString(8, TTYPE_BLOB);            }            ps.setBigDecimal(9, new BigDecimal(String.valueOf(trigger                    .getStartTime().getTime())));            long endTime = 0;            if (trigger.getEndTime() != null) {                endTime = trigger.getEndTime().getTime();            }            ps.setBigDecimal(10, new BigDecimal(String.valueOf(endTime)));            ps.setString(11, trigger.getCalendarName());            ps.setInt(12, trigger.getMisfireInstruction());            ps.setString(13, trigger.getName());            ps.setString(14, trigger.getGroup());            insertResult = ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }        if (insertResult > 0) {            deleteTriggerListeners(conn, trigger.getName(), trigger.getGroup());            String[] trigListeners = trigger.getTriggerListenerNames();            for (int i = 0; trigListeners != null && i < trigListeners.length; i++)                insertTriggerListener(conn, trigger, trigListeners[i]);        }        return insertResult;    }    public int insertFiredTrigger(Connection conn, Trigger trigger,            String state, JobDetail job) throws SQLException {        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(INSERT_FIRED_TRIGGER));            ps.setString(1, trigger.getFireInstanceId());            ps.setString(2, trigger.getName());            ps.setString(3, trigger.getGroup());            ps.setString(4, toBooleanIntString(trigger.isVolatile()));            //ps.setBoolean(4, trigger.isVolatile());            ps.setString(5, instanceId);            ps.setBigDecimal(6, new BigDecimal(String.valueOf(trigger                    .getNextFireTime().getTime())));            ps.setString(7, state);            if (job != null) {                ps.setString(8, trigger.getJobName());                ps.setString(9, trigger.getJobGroup());                ps.setString(10, toBooleanIntString(job.isStateful()));                ps.setString(11, toBooleanIntString(job.requestsRecovery()));                //ps.setBoolean(10, job.isStateful());                //ps.setBoolean(11, job.requestsRecovery());            } else {                ps.setString(8, null);                ps.setString(9, null);                ps.setString(10, "0");                ps.setString(11, "0");                //ps.setBoolean(10, false);                //ps.setBoolean(11, false);            }            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public int updateJobData(Connection conn, JobDetail job)            throws IOException, SQLException {        ByteArrayOutputStream baos = serializeJobData(job.getJobDataMap());        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(UPDATE_JOB_DATA));            ps.setObject(1, baos.toByteArray(), java.sql.Types.BLOB);            //ps.setBytes(1, baos.toByteArray());            ps.setString(2, job.getName());            ps.setString(3, job.getGroup());            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public int insertCalendar(Connection conn, String calendarName,            Calendar calendar) throws IOException, SQLException {        ByteArrayOutputStream baos = serializeObject(calendar);        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(INSERT_CALENDAR));            ps.setString(1, calendarName);            ps.setObject(2, baos.toByteArray(), java.sql.Types.BLOB);            //ps.setBytes(2, baos.toByteArray());            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public int updateCalendar(Connection conn, String calendarName,            Calendar calendar) throws IOException, SQLException {        ByteArrayOutputStream baos = serializeObject(calendar);        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(UPDATE_CALENDAR));            ps.setString(1, calendarName);            ps.setObject(2, baos.toByteArray(), java.sql.Types.BLOB);            //ps.setBytes(2, baos.toByteArray());            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public int deleteVolatileFiredTriggers(Connection conn) throws SQLException {        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(DELETE_VOLATILE_FIRED_TRIGGERS));            ps.setString(1, "1");            //ps.setBoolean(1, true);            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public Key[] selectVolatileTriggers(Connection conn) throws SQLException {        PreparedStatement ps = null;        ResultSet rs = null;        try {            ps = conn.prepareStatement(rtp(SELECT_VOLATILE_TRIGGERS));            ps.setString(1, "1");            //ps.setBoolean(1, true);            rs = ps.executeQuery();            ArrayList list = new ArrayList();            while (rs.next()) {                String triggerName = rs.getString(COL_TRIGGER_NAME);                String groupName = rs.getString(COL_TRIGGER_GROUP);                list.add(new Key(triggerName, groupName));            }            Object[] oArr = list.toArray();            Key[] kArr = new Key[oArr.length];            System.arraycopy(oArr, 0, kArr, 0, oArr.length);            return kArr;        } finally {            if (null != rs) {                try {                    rs.close();                } catch (SQLException ignore) {                }            }            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public Key[] selectVolatileJobs(Connection conn) throws SQLException {        PreparedStatement ps = null;        ResultSet rs = null;        try {            ps = conn.prepareStatement(rtp(SELECT_VOLATILE_JOBS));            ps.setString(1, "1");            //ps.setBoolean(1, true);            rs = ps.executeQuery();            ArrayList list = new ArrayList();            while (rs.next()) {                String triggerName = rs.getString(COL_JOB_NAME);                String groupName = rs.getString(COL_JOB_GROUP);                list.add(new Key(triggerName, groupName));            }            Object[] oArr = list.toArray();            Key[] kArr = new Key[oArr.length];            System.arraycopy(oArr, 0, kArr, 0, oArr.length);            return kArr;        } finally {            if (null != rs) {                try {                    rs.close();                } catch (SQLException ignore) {                }            }            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    private static String toBooleanIntString(boolean theBoolean) {        if (String.valueOf(theBoolean).equals("true")) {            return "1";        } else {            return "0";        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -