org.javalite.common.Util.closeQuietly()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(9.5k)|赞(0)|评价(0)|浏览(115)

本文整理了Java中org.javalite.common.Util.closeQuietly()方法的一些代码示例,展示了Util.closeQuietly()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Util.closeQuietly()方法的具体详情如下:
包路径:org.javalite.common.Util
类名称:Util
方法名:closeQuietly

Util.closeQuietly介绍

[英]Closes a resource and swallows exception if thrown during a close.
[中]关闭资源,如果在关闭过程中抛出异常,则接受异常。

代码示例

代码示例来源:origin: javalite/activejdbc

/**
 * Quietly closes the <code>java.sql.PreparedStatement</code> used in a batch execution. The advantage over calling
 * <code>java.sql.PreparedStatement.close()</code> directly is not having to explicitly handle a checked exception
 * (<code>java.sql.SQLException</code>).
 * This method should typically be called in a finally block. So as not to displace any exception (e.g. from a failed
 * batch execution) that might already be in flight, this method swallows any exception that might arise from
 * closing the statement. This is generally seen as a worthwhile trade-off, as it much less likely for a close to fail
 * without a prior failure.
 *
 * @param ps <code>java.sql.PreparedStatement</code> with which a batch has been executed. If null, this is a no-op.
 */
public void closePreparedStatement(PreparedStatement ps) {
  closeQuietly(ps);
}

代码示例来源:origin: javalite/activejdbc

void cleanStatementCache(Connection connection) {
    Map<String, PreparedStatement> stmsMap = statementCache.remove(connection);
    if(stmsMap != null) { //Close prepared statements to release cursors on connection pools
      for(PreparedStatement stmt : stmsMap.values()) {
        closeQuietly(stmt);
      }
    }
  }
}

代码示例来源:origin: javalite/activejdbc

public void with(RowListener listener){
  try {
    processRS(listener);
  } catch(SQLException e) {
    throw new DBException(e);
  } finally {
    //TODO: shouldn't these be closed in the same scope they were created?
    closeQuietly(rs);
    closeQuietly(s);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Converts stack trace to string.
 *
 * @param throwable - throwable to convert.
 * @return message and stack trace converted to string.
 */
public static String getStackTraceString(Throwable throwable) {
  StringWriter sw = null;
  PrintWriter pw = null;
  try {
    sw = new StringWriter();
    pw = new PrintWriter(sw);
    pw.println(throwable.toString());
    throwable.printStackTrace(pw);
    pw.flush();
    return sw.toString();
  } finally {
    closeQuietly(pw);
    closeQuietly(sw);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Reads contents of resource fully into a byte array.
 *
 * @param resourceName resource name.
 * @return entire contents of resource as byte array.
 */
public static byte[] readResourceBytes(String resourceName) {
  InputStream is = Util.class.getResourceAsStream(resourceName);
  try {
    return bytes(is);
  } catch (IOException e) {
    throw new RuntimeException(e);
  } finally {
    closeQuietly(is);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Returns lines of text of a resource as list.
 *
 * @param resourceName name of resource
 * @return list of text lines
 * @throws java.io.IOException in case of IO error
 */
public static List<String> getResourceLines(String resourceName) throws IOException {
  InputStreamReader isreader = null;
  BufferedReader reader = null;
  try {
    isreader = new InputStreamReader(Util.class.getResourceAsStream(resourceName));
    reader = new BufferedReader(isreader);
    List<String> lines = new ArrayList<String>();
    String tmp;
    while ((tmp = reader.readLine()) != null) {
      lines.add(tmp);
    }
    return lines;
  } finally {
    closeQuietly(reader);
    closeQuietly(isreader);
  }
}

代码示例来源:origin: javalite/activejdbc

private static String clobToString(Clob clob) {
  Reader r = null;
  StringWriter sw = null;
  try {
    r = clob.getCharacterStream();
    sw = new StringWriter();
    copyStream(r, sw);
    return sw.toString();
  } catch (Exception e) {
    throw new ConversionException(e);
  } finally {
    closeQuietly(sw);
    closeQuietly(r);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Reads contents of file fully and returns as string.
 *
 * @param fileName file name.
 * @param charset name of supported charset.
 * @return contents of entire file.
 */
public static String readFile(String fileName, String charset) {
  FileInputStream in = null;
  try {
    in = new FileInputStream(fileName);
    return read(in, charset);
  } catch (IOException e) {
    throw new RuntimeException(e);
  } finally {
    closeQuietly(in);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Reads file into a byte array.
 *
 * @param file file to read.
 * @return content of file.
 * @throws java.io.IOException
 */
public static byte[] read(File file) throws IOException {
  FileInputStream is = new FileInputStream(file);
  try {
    return bytes(is);
  } finally {
    closeQuietly(is);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Saves content of byte array to file.
 *
 * @param path path to file - can be absolute or relative to current.
 * @param content bytes to save.
 */
public static void saveTo(String path, byte[] content) {
  InputStream is = null;
  try {
    is = new ByteArrayInputStream(content);
    saveTo(path, is);
  } finally {
    closeQuietly(is);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Reads contents of the input stream fully and returns it as byte array.
 *
 * @param in InputStream to read from.
 * @return contents of the input stream fully as byte array
 * @throws IOException in case of IO error
 */
public static byte[] bytes(InputStream in) throws IOException {
  if (in == null) {
    throw new IllegalArgumentException("input stream cannot be null");
  }
  ByteArrayOutputStream os = null;
  try {
    os = new ByteArrayOutputStream(1024);
    byte[] bytes = new byte[1024];
    int len;
    while ((len = in.read(bytes)) != -1) {
      os.write(bytes, 0, len);
    }
    return os.toByteArray();
  } finally {
    closeQuietly(os);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Reads contents of resource fully into a string.
 *
 * @param resourceName resource name.
 * @param charset name of supported charset
 * @return entire contents of resource as string.
 */
public static String readResource(String resourceName, String charset) {
  InputStream is = Util.class.getResourceAsStream(resourceName);
  try {
    return read(is, charset);
  } catch (IOException e) {
    throw new RuntimeException(e);
  } finally {
    closeQuietly(is);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Reads contents of the input stream fully and returns it as String.
 *
 * @param in InputStream to read from.
 * @param charset name of supported charset to use
 * @return contents of the input stream fully as String.
 * @throws IOException in case of IO error
 */
public static String read(InputStream in, String charset) throws IOException {
  if (in == null) {
    throw new IllegalArgumentException("input stream cannot be null");
  }
  InputStreamReader reader = null;
  try {
    reader = new InputStreamReader(in, charset);
    char[] buffer = new char[1024];
    StringBuilder sb = new StringBuilder();
    int len;
    while ((len = reader.read(buffer)) != -1) {
      sb.append(buffer, 0, len);
    }
    return sb.toString();
  } finally {
    closeQuietly(reader);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Saves content read from input stream into a file.
 *
 * @param path path to file.
 * @param in  input stream to read content from.
 */
public static void saveTo(String path, InputStream in) {
  if (in == null) {
    throw new IllegalArgumentException("input stream cannot be null");
  }
  if (path == null) {
    throw new IllegalArgumentException("path cannot be null");
  }
  FileOutputStream out = null;
  try {
    out = new FileOutputStream(path);
    byte[] bytes = new byte[1024];
    int len;
    while ((len = in.read(bytes)) != -1) {
      out.write(bytes, 0, len);
    }
    out.flush();
  } catch (IOException e) {
    throw new RuntimeException(e);
  } finally {
    closeQuietly(out);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Converts <code>java.sql.Blob</code> to bytes array.
 *
 * @param blob Blob to be converted
 * @return blob converted to byte array
 */
public static byte[] toBytes(Blob blob) {
  InputStream is = null;
  try {
    is = blob.getBinaryStream();
    return bytes(is);
  } catch (Exception e) {
    throw new ConversionException(e);
  } finally {
    closeQuietly(is);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * This method returns the value of the first column of the first row.
 * If query results have more than one column or more than one row, they will be ignored.
 *
 * @param query query
 * @param params parameters
 * @return fetched value, or null if query did not fetch anything.
 */
public Object firstCell(final String query, Object... params) {
  PreparedStatement ps = null;
  ResultSet rs = null;
  try {
    Object result = null;
    long start = System.currentTimeMillis();
    ps = connection().prepareStatement(query);
    setParameters(ps, params);
    rs = ps.executeQuery();
    if (rs.next()) {
      result = rs.getObject(1);
    }
    LogFilter.logQuery(LOGGER, query, params, start);
    return result;
  } catch (SQLException e) {
    throw new DBException(query, params, e);
  } finally {
    closeQuietly(rs);
    closeQuietly(ps);
  }
}

代码示例来源:origin: javalite/activejdbc

throw new DBException(query, params, e);
} finally {
  closeQuietly(rs);
  closeQuietly(ps);

代码示例来源:origin: javalite/activejdbc

/**
 * Executes a raw query and calls instance of <code>RowListener</code> with every row found.
 * Use this method for very large result sets.
 *
 * @param sql raw SQL query.
 * @param listener client listener implementation for processing individual rows.
 */
public void find(String sql, RowListener listener) {
  Statement s = null;
  ResultSet rs = null;
  try {
    s = createStreamingStatement();
    rs = s.executeQuery(sql);
    RowProcessor p = new RowProcessor(rs, s);
    p.with(listener);
  } catch (SQLException e) {
    throw new DBException(sql, null, e);
  } finally {
    closeQuietly(rs);
    closeQuietly(s);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Executes DML. Use it for inserts and updates.
 *
 * @param query raw DML.
 * @return number of rows afected by query.
 */
public int exec(String query){
  long start = System.currentTimeMillis();
  Statement s = null;
  try {
    s = connection().createStatement();
    int count = s.executeUpdate(query);
    LogFilter.logQuery(LOGGER, query, null, start);
    return count;
  } catch (SQLException e) {
    logException("Query failed: " + query, e);
    throw new DBException(query, null, e);
  } finally {
    closeQuietly(s);
  }
}

代码示例来源:origin: javalite/activejdbc

/**
 * Executes parametrized DML - will contain question marks as placeholders.
 *
 * @param query query to execute - will contain question marks as placeholders.
 * @param params  query parameters.
 * @return number of records affected.
 */
public int exec(String query, Object... params){
  if(query.indexOf('?') == -1) throw new IllegalArgumentException("query must be parametrized");
  long start = System.currentTimeMillis();
  PreparedStatement ps = null;
  try {
    ps = connection().prepareStatement(query);
    setParameters(ps, params);
    int count = ps.executeUpdate();
    LogFilter.logQuery(LOGGER, query, params, start);
    return count;
  } catch (SQLException e) {
    logException("Failed query: " + query, e);
    throw new DBException(query, params, e);
  } finally {
    closeQuietly(ps);
  }
}

相关文章