
net.sf.jstuff.integration.persistence.JdbcResourcesCloser Maven / Gradle / Ivy
/*
* Copyright 2010-2022 by Sebastian Thomschke and contributors.
* SPDX-License-Identifier: EPL-2.0
*/
package net.sf.jstuff.integration.persistence;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import org.eclipse.jdt.annotation.Nullable;
import net.sf.jstuff.core.logging.Logger;
import net.sf.jstuff.core.validation.Args;
/**
* @author Sebastian Thomschke
*/
public class JdbcResourcesCloser {
private static boolean close(final @Nullable Object resource) {
if (resource == null)
return false;
try {
if (resource instanceof Connection) {
((Connection) resource).close();
} else if (resource instanceof Statement) {
((Statement) resource).close();
} else if (resource instanceof ResultSet) {
((ResultSet) resource).close();
} else
return false;
} catch (final SQLException ex) {
LOG.warn(ex, "Closing JDBC Resource %s failed.", resource);
return false;
}
return true;
}
private static final Logger LOG = Logger.create();
private final LinkedList
© 2015 - 2025 Weber Informatics LLC | Privacy Policy