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

📄 stdjdbcdelegate.java

📁 非常好用的计划任务调度包,能定义复杂的任务
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    }    /**     * <p>     * Delete all fired triggers.     * </p>     *      * @param conn     *          the DB Connection     * @return the number of rows deleted     */    public int deleteFiredTriggers(Connection conn) throws SQLException {        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(DELETE_FIRED_TRIGGERS));            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    public int deleteFiredTriggers(Connection conn, String instanceId)            throws SQLException {        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(DELETE_INSTANCES_FIRED_TRIGGERS));            ps.setString(1, instanceId);            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    //---------------------------------------------------------------------------    // jobs    //---------------------------------------------------------------------------    /**     * <p>     * Insert the job detail record.     * </p>     *      * @param conn     *          the DB Connection     * @param job     *          the job to insert     * @return number of rows inserted     * @throws IOException     *           if there were problems serializing the JobDataMap     */    public int insertJobDetail(Connection conn, JobDetail job)            throws IOException, SQLException {        ByteArrayOutputStream baos = serializeJobData(job.getJobDataMap());        PreparedStatement ps = null;        int insertResult = 0;        try {            ps = conn.prepareStatement(rtp(INSERT_JOB_DETAIL));            ps.setString(1, job.getName());            ps.setString(2, job.getGroup());            ps.setString(3, job.getDescription());            ps.setString(4, job.getJobClass().getName());            ps.setBoolean(5, job.isDurable());            ps.setBoolean(6, job.isVolatile());            ps.setBoolean(7, job.isStateful());            ps.setBoolean(8, job.requestsRecovery());            ps.setBytes(9, baos.toByteArray());            insertResult = ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }        if (insertResult > 0) {            String[] jobListeners = job.getJobListenerNames();            for (int i = 0; jobListeners != null && i < jobListeners.length; i++)                insertJobListener(conn, job, jobListeners[i]);        }        return insertResult;    }    /**     * <p>     * Update the job detail record.     * </p>     *      * @param conn     *          the DB Connection     * @param job     *          the job to update     * @return number of rows updated     * @throws IOException     *           if there were problems serializing the JobDataMap     */    public int updateJobDetail(Connection conn, JobDetail job)            throws IOException, SQLException {        ByteArrayOutputStream baos = serializeJobData(job.getJobDataMap());        PreparedStatement ps = null;        int insertResult = 0;        try {            ps = conn.prepareStatement(rtp(UPDATE_JOB_DETAIL));            ps.setString(1, job.getDescription());            ps.setString(2, job.getJobClass().getName());            ps.setBoolean(3, job.isDurable());            ps.setBoolean(4, job.isVolatile());            ps.setBoolean(5, job.isStateful());            ps.setBoolean(6, job.requestsRecovery());            ps.setBytes(7, baos.toByteArray());            ps.setString(8, job.getName());            ps.setString(9, job.getGroup());            insertResult = ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }        if (insertResult > 0) {            deleteJobListeners(conn, job.getName(), job.getGroup());            String[] jobListeners = job.getJobListenerNames();            for (int i = 0; jobListeners != null && i < jobListeners.length; i++)                insertJobListener(conn, job, jobListeners[i]);        }        return insertResult;    }    /**     * <p>     * Get the names of all of the triggers associated with the given job.     * </p>     *      * @param conn     *          the DB Connection     * @param jobName     *          the name of the job     * @param groupName     *          the group containing the job     * @return an array of <code>{@link     * org.quartz.utils.Key}</code> objects     */    public Key[] selectTriggerNamesForJob(Connection conn, String jobName,            String groupName) throws SQLException {        PreparedStatement ps = null;        ResultSet rs = null;        try {            ps = conn.prepareStatement(rtp(SELECT_TRIGGERS_FOR_JOB));            ps.setString(1, jobName);            ps.setString(2, groupName);            rs = ps.executeQuery();            ArrayList list = new ArrayList(10);            while (rs.next()) {                String trigName = rs.getString(COL_TRIGGER_NAME);                String trigGroup = rs.getString(COL_TRIGGER_GROUP);                list.add(new Key(trigName, trigGroup));            }            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) {                }            }        }    }    /**     * <p>     * Delete all job listeners for the given job.     * </p>     *      * @param conn     *          the DB Connection     * @param jobName     *          the name of the job     * @param groupName     *          the group containing the job     * @return the number of rows deleted     */    public int deleteJobListeners(Connection conn, String jobName,            String groupName) throws SQLException {        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(DELETE_JOB_LISTENERS));            ps.setString(1, jobName);            ps.setString(2, groupName);            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    /**     * <p>     * Delete the job detail record for the given job.     * </p>     *      * @param conn     *          the DB Connection     * @param jobName     *          the name of the job     * @param groupName     *          the group containing the job     * @return the number of rows deleted     */    public int deleteJobDetail(Connection conn, String jobName, String groupName)            throws SQLException {        PreparedStatement ps = null;        try {            logger.debug("Deleting job: " + groupName + "." + jobName);            ps = conn.prepareStatement(rtp(DELETE_JOB_DETAIL));            ps.setString(1, jobName);            ps.setString(2, groupName);            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    /**     * <p>     * Check whether or not the given job is stateful.     * </p>     *      * @param conn     *          the DB Connection     * @param jobName     *          the name of the job     * @param groupName     *          the group containing the job     * @return true if the job exists and is stateful, false otherwise     */    public boolean isJobStateful(Connection conn, String jobName,            String groupName) throws SQLException {        PreparedStatement ps = null;        ResultSet rs = null;        try {            ps = conn.prepareStatement(rtp(SELECT_JOB_STATEFUL));            ps.setString(1, jobName);            ps.setString(2, groupName);            rs = ps.executeQuery();            if (!rs.next()) { return false; }            return rs.getBoolean(COL_IS_STATEFUL);        } finally {            if (null != rs) {                try {                    rs.close();                } catch (SQLException ignore) {                }            }            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    /**     * <p>     * Check whether or not the given job exists.     * </p>     *      * @param conn     *          the DB Connection     * @param jobName     *          the name of the job     * @param groupName     *          the group containing the job     * @return true if the job exists, false otherwise     */    public boolean jobExists(Connection conn, String jobName, String groupName)            throws SQLException {        PreparedStatement ps = null;        ResultSet rs = null;        try {            ps = conn.prepareStatement(rtp(SELECT_JOB_EXISTENCE));            ps.setString(1, jobName);            ps.setString(2, groupName);            rs = ps.executeQuery();            if (rs.next()) {                return true;            } else {                return false;            }        } finally {            if (null != rs) {                try {                    rs.close();                } catch (SQLException ignore) {                }            }            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    /**     * <p>     * Update the job data map for the given job.     * </p>     *      * @param conn     *          the DB Connection     * @param job     *          the job to update     * @return the number of rows updated     */    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.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) {                }            }        }    }    /**     * <p>     * Associate a listener with a job.     * </p>     *      * @param conn     *          the DB Connection     * @param job     *          the job to associate with the listener     * @param listener     *          the listener to insert     * @return the number of rows inserted     */    public int insertJobListener(Connection conn, JobDetail job, String listener)            throws SQLException {        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(rtp(INSERT_JOB_LISTENER));            ps.setString(1, job.getName());            ps.setString(2, job.getGroup());            ps.setString(3, listener);            return ps.executeUpdate();        } finally {            if (null != ps) {                try {                    ps.close();                } catch (SQLException ignore) {                }            }        }    }    /**     * <p>     * Get all of the listeners for a given job.

⌨️ 快捷键说明

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