Package com.asakusafw.bulkloader.exception

Examples of com.asakusafw.bulkloader.exception.BulkLoaderSystemException


    public static void init(String jdbcDriverName) throws BulkLoaderSystemException {
        try {
            Class.forName(jdbcDriverName).newInstance();
            initialized = true;
        } catch (NullPointerException e) {
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00013",
                    jdbcDriverName);
        } catch (InstantiationException e) {
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00013",
                    jdbcDriverName);
        } catch (IllegalAccessException e) {
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00013",
                    jdbcDriverName);
        } catch (ClassNotFoundException e) {
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00013",
                    jdbcDriverName);
        }
    }
View Full Code Here


        Connection conn = null;
        FileInputStream fis = null;

        // 初期化が行われていない場合例外をスローする。
        if (!initialized) {
            throw new BulkLoaderSystemException(CLASS, "TG-COMMON-00001",
                    "初期化が行われていない");
        }

        // プロパティからDB接続情報を取得
        String url = ConfigurationLoader.getProperty(Constants.PROP_KEY_DB_URL);
        String user = ConfigurationLoader.getProperty(Constants.PROP_KEY_DB_USER);
        String password = ConfigurationLoader.getProperty(Constants.PROP_KEY_DB_PASSWORD);
        String param = ConfigurationLoader.getProperty(Constants.PROP_KEY_NAME_DB_PRAM);

        try {
            if (param != null && !param.isEmpty()) {
                // チューニングパラメータのプロパティが指定されている場合
                fis = new FileInputStream(new File(param));
                Properties prop = new Properties();
                prop.load(fis);
                prop.setProperty("user", user);
                prop.setProperty("password", password);
                conn = DriverManager.getConnection(url, prop);
            } else {
                // チューニングパラメータのプロパティが指定されていない場合
                conn = DriverManager.getConnection(url, user, password);
            }

            // トランザクション分離レベルをREAD_COMMITTEDに設定
            conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
            // オートコミットをFALSEに設定
            conn.setAutoCommit(false);

            return conn;

        } catch (SQLException e) {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e1) {
                    // ここで例外が発生した場合は握りつぶす
                    e1.printStackTrace();
                }
            }
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00001",
                    "コネクション取得中にSQL例外が発生");
        } catch (FileNotFoundException e) {
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00001",
                    MessageFormat.format("チューニングパラメータのプロパティが見つからない。ファイル名:{0}", param));
        } catch (IOException e) {
            throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00001",
                    MessageFormat.format("チューニングパラメータのプロパティの読み込みに失敗。ファイル名:{0}", param));
        } finally {
            if (fis != null) {
                try {
                    fis.close();
View Full Code Here

                // コミット実行後ログを出力
                long time = System.currentTimeMillis() - before;
                LOG.debugMessage("トランザクションをコミットしました。コミット時間(ミリ秒):{0}", time);
            } catch (SQLException e) {
                throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00015");
            }
        }
    }
View Full Code Here

                // ロールバック実行後ログを出力
                long time = System.currentTimeMillis() - before;
                LOG.debugMessage("トランザクションをロールバックしました。コミット時間(ミリ秒):{0}", time);
            } catch (SQLException e) {
                throw new BulkLoaderSystemException(e, CLASS, "TG-COMMON-00016");
            }
        }
    }
View Full Code Here

                // ファイルが既に存在する場合はファイルを削除する。
                if (importFile.exists()) {
                    if (!importFile.delete()) {
                        // ファイルの削除に失敗した場合は異常終了する
                        throw new BulkLoaderSystemException(getClass(), "TG-IMPORTER-03001",
                                importFile.getName());
                    }
                }

                // ロック取得有無に応じてレコードを抽出し、ファイルを生成する
                if (ImportTableLockType.TABLE.equals(lockType)) {
                    // ロック取得有無が「テーブルロック」の場合、検索条件でレコードを抽出する
                    createFileWithCondition(
                            conn,
                            tableName,
                            targetTable,
                            importFile);
                } else if (ImportTableLockType.RECORD.equals(lockType)) {
                    // ロック取得有無が「行ロック」の場合、ジョブフローIDを条件にレコードを抽出する
                    createFileWithJobFlowSid(
                            conn,
                            tableName,
                            targetTable,
                            jobflowSid,
                            importFile);
                } else if (ImportTableLockType.NONE.equals(lockType)) {
                    // ロック取得有無が「ロックを取得しない」の場合、検索条件でレコードを抽出する
                    createFileWithCondition(
                            conn,
                            tableName,
                            targetTable,
                            importFile);
                }
                // ファイルが生成出来なかった場合は0byteのファイルを作成する。
                if (!importFile.exists()) {
                    try {
                        if (!importFile.createNewFile()) {
                            throw new BulkLoaderSystemException(getClass(), "TG-IMPORTER-03002");
                        }
                        LOG.info("TG-IMPORTER-03005",
                                tableName,
                                lockType,
                                importFile.getAbsolutePath());
                    } catch (IOException e) {
                        throw new BulkLoaderSystemException(getClass(), "TG-IMPORTER-03002");
                    }
                } else {
                    LOG.info("TG-IMPORTER-03004",
                            tableName,
                            lockType,
View Full Code Here

                support = tableInfo
                    .getImportTargetType()
                    .asSubclass(ThunderGateCacheSupport.class)
                    .newInstance();
            } catch (Exception e) {
                throw new BulkLoaderSystemException(e, getClass(), "TG-IMPORTER-13002",
                        tableName,
                        tableInfo.getCacheId(),
                        tableInfo.getImportTargetType().getName());
            }
            String timestampColumn = support.__tgc__TimestampColumn();
View Full Code Here

            }
            @Override
            protected <T> long write(Class<T> targetTableModel,
                    URI hdfsFilePath, InputStream zipEntryInputStream)
                    throws BulkLoaderSystemException {
                throw new BulkLoaderSystemException(new NullPointerException(), this.getClass(), "TG-EXTRACTOR-02001");
            }
        };
        boolean result = fileImport.importFile(bean, "asakusa");

        // 戻り値を検証
View Full Code Here

                                ExportTempTableStatus.LOAD_EXIT.getStatus(),
                                bean.getJobflowSid(),
                                tableName
                        });
                if (updateCount == 0) {
                    throw new BulkLoaderSystemException(getClass(), "TG-EXPORTER-03001",
                            // TODO MessageFormat.formatの検討
                            "テンポラリ管理テーブルのレコードを更新できませんでした。ジョブフローSID:" + bean.getJobflowSid(),
                            " Export対象テーブル名:" + tableName);
                }
                DBConnection.commit(conn);
View Full Code Here

            stmt.setString(2, tableName);
            rs = DBConnection.executeQuery(stmt, selectSql, new String[]{jobflowSid, tableName});
            if (rs.next()) {
                seq = rs.getLong("EXPORT_TEMP_SEQ");
            } else {
                throw new BulkLoaderSystemException(getClass(), "TG-EXPORTER-03001",
                        // TODO MessageFormat.formatの検討
                        "テンポラリ管理テーブルのレコードを取得できませんでした。ジョブフローSID:" + jobflowSid,
                        " Export対象テーブル名:" + tableName);
            }
        } catch (SQLException e) {
View Full Code Here

                String owner = columnMap.get(columns.get(i));
                if (owner != null) {
                    columns.set(i, String.format("%s.%s AS %s", owner, columns.get(i), columns.get(i)));
                } else {
                    // カラムのソースが判明しないときにはどこからか型情報を補足する必要がある
                    throw new BulkLoaderSystemException(getClass(), "TG-EXPORTER-03007",
                            columns.get(i));
                }
            }
        }
        return columns;
View Full Code Here

TOP

Related Classes of com.asakusafw.bulkloader.exception.BulkLoaderSystemException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.