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

📄 hsqldbdelegate.java

📁 Quartz is a full-featured, open source job scheduling system that can be integrated with, or used al
💻 JAVA
字号:
/*  * Copyright 2004-2005 OpenSymphony  *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not  * use this file except in compliance with the License. You may obtain a copy  * of the License at  *  *   http://www.apache.org/licenses/LICENSE-2.0  *    * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  * License for the specific language governing permissions and limitations  * under the License. *  *//* * Previously Copyright (c) 2001-2004 James House */package org.quartz.impl.jdbcjobstore;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.sql.ResultSet;import java.sql.SQLException;import org.apache.commons.logging.Log;/** * <p> * This is a driver delegate for the HSQLDB database. * </p> *  * @author James House * @author <a href="mailto:jeff@binaryfeed.org">Jeffrey Wescott</a> */public class HSQLDBDelegate extends StdJDBCDelegate {    /**     * <p>     * Create new HSQLDBDelegate instance.     * </p>     *      * @param log     *          the logger to use during execution     * @param tablePrefix     *          the prefix of all table names     */    public HSQLDBDelegate(Log log, String tablePrefix, String instanceId) {        super(log, tablePrefix, instanceId);    }    /**     * <p>     * Create new MSSQLDelegate instance.     * </p>     *      * @param log     *          the logger to use during execution     * @param tablePrefix     *          the prefix of all table names     * @param useProperties     *          use java.util.Properties for storage     */    public HSQLDBDelegate(Log log, String tablePrefix, String instanceId,            Boolean useProperties) {        super(log, tablePrefix, instanceId, useProperties);    }    //---------------------------------------------------------------------------    // protected methods that can be overridden by subclasses    //---------------------------------------------------------------------------    /**     * <p>     * This method should be overridden by any delegate subclasses that need     * special handling for BLOBs. The default implementation uses standard     * JDBC <code>java.sql.Blob</code> operations.     * </p>     *      * @param rs     *          the result set, already queued to the correct row     * @param colName     *          the column name for the BLOB     * @return the deserialized Object from the ResultSet BLOB     * @throws ClassNotFoundException     *           if a class found during deserialization cannot be found     * @throws IOException     *           if deserialization causes an error     */    protected Object getObjectFromBlob(ResultSet rs, String colName)        throws ClassNotFoundException, IOException, SQLException {        InputStream binaryInput = rs.getBinaryStream(colName);        if(binaryInput == null) {            return null;        }                Object obj = null;                ObjectInputStream in = new ObjectInputStream(binaryInput);        try {            obj = in.readObject();        } finally {            in.close();        }        return obj;    }    protected Object getJobDetailFromBlob(ResultSet rs, String colName)        throws ClassNotFoundException, IOException, SQLException {        if (canUseProperties()) {            InputStream binaryInput = rs.getBinaryStream(colName);            return binaryInput;        }        return getObjectFromBlob(rs, colName);    }}// EOF

⌨️ 快捷键说明

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