quartz获取JOB_DATA和对象读取

quartz获取JOB_DATA和对象读取, 操作quartz中JobDataMap类,修改clob字段的值,demo如

package aurora.job.util;

import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ClobUtil {
    private static String JOB_DATA_MAP="select * from QRTZ_JOB_DETAILS where rownum<=1";
    private static String JOB_DATA_KEY="JOB_DATA";
     protected static Object getObjectFromBlob(ResultSet rs, String colName)
                throws ClassNotFoundException, IOException, SQLException {

                Object obj = null;
                InputStream binaryInput = rs.getBinaryStream(colName);
                if (binaryInput != null) {
                    ObjectInputStream in = new ObjectInputStream(binaryInput);
                    try {
                        obj = in.readObject();
                    } finally {
                        in.close();
                    }
                }

                return obj;
            }


     public static Object getJobDataMap(Connection conn) throws SQLException {

           String sql =JOB_DATA_MAP;
           Object data = null;
           PreparedStatement pstmt = conn.prepareStatement(sql);
           ResultSet rs = pstmt.executeQuery();
           rs.next();
           try {
               data= getObjectFromBlob(rs, JOB_DATA_KEY);

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return  data;

        }
}

你可能感兴趣的:(quartz,java)