本文共 1664 字,大约阅读时间需要 5 分钟。
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; }}
转载地址:http://kpypi.baihongyu.com/