From 068dadebf60870668d86ad9bc4ba85d2751582e3 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 05 May 2008 15:06:01 +0800 Subject: [PATCH] update for EOFM-72 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java | 44 ++++++++++++++++++++++++++++++-------------- 1 files changed, 30 insertions(+), 14 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java index eb57abf..7cf0442 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java @@ -82,17 +82,23 @@ logger.info(jobName + " fired at " + new Date()); extractJobConfiguration(jobDetail); - OracleConvertJobContext jobContext = (OracleConvertJobContext) prepareJobContext(_filterPath); - jobContext.setConnectionInfo(_oracleHost, _oraclePort, _oracleInstance); - jobContext.setLogin(_username, _password); - jobContext.setShapeData(_dataPath); - jobContext.setExecutionContext(context); - try { - copyConnectivity(jobContext); + boolean bFirst = true; for (String orgSchema : _orgSchema) { + OracleConvertJobContext jobContext = (OracleConvertJobContext) prepareJobContext(_filterPath); + jobContext.setConnectionInfo(_oracleHost, _oraclePort, _oracleInstance); + jobContext.setLogin(_username, _password); + jobContext.setShapeData(_dataPath); + jobContext.setExecutionContext(context); + + if (bFirst) + copyConnectivity(jobContext); + else + bFirst = false; + + logger.info("----- start schema:" + orgSchema + " -----"); exetcuteConvert(jobContext, orgSchema, _dataPath); //close all open filewriter instance @@ -101,12 +107,12 @@ } catch (SQLException e) { logger.warn(e.getMessage(), e); - throw new JobExecutionException("Database error.", e); + throw new JobExecutionException("Database error. " + e.getMessage(), e); } catch (IOException ex) { - ex.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + logger.warn(ex.getMessage(), ex); + throw new JobExecutionException("IO error. " + ex.getMessage(), ex); } - } //Connectivity�ƻs�@�Ӫ����A�b�d�߹q�y��V�ɥΨӤ��OMS��Ʈw���q���s����(Connectivity) @@ -185,10 +191,13 @@ PrintfFormat spf = new PrintfFormat(fetchStmtFmt); String fetchStmt = spf.sprintf(new Object[]{schemaSrc, tableSrc}); Statement stmt = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); + ResultSet rs = null; stmt.setFetchSize(FETCHSIZE); - ResultSet rs = stmt.executeQuery(fetchStmt); + try + { + rs = stmt.executeQuery(fetchStmt); while (rs.next()) { @@ -209,9 +218,16 @@ else pair.first = name; } - - rs.close(); - stmt.close(); + } catch (SQLException e) + { + logger.error(e.toString(), e); + logger.error("stmt=" + fetchStmt); + throw e; + } finally + { + if (rs != null) rs.close(); + stmt.close(); + } return orderedMap; } -- Gitblit v0.0.0-SNAPSHOT