All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.prevayler.demos.scalability.jdbc.JDBCScalabilitySubject Maven / Gradle / Ivy

The newest version!
//Contributions by Stefan Ortmanns.

package org.prevayler.demos.scalability.jdbc;

import org.prevayler.demos.scalability.*;
import java.sql.*;
import java.io.PrintStream;


abstract class JDBCScalabilitySubject implements ScalabilityTestSubject {

	protected final String connectionURL;
	protected final String user;
	protected final String password;

	{System.gc();}


	protected JDBCScalabilitySubject(String jdbcDriverClassName, String connectionURL, String user, String password) {
		try {
			Class.forName(jdbcDriverClassName);
		} catch (Exception ex) {
			ex.printStackTrace();
			throw new RuntimeException("Exception loading JDBC driver class: " + jdbcDriverClassName);
		}

		this.connectionURL = connectionURL;
		this.user = user;
		this.password = password;
	}

	public String name() {
		return "JDBC";
	}

	public void replaceAllRecords(int records) {
		((JDBCScalabilityConnection)createTestConnection()).replaceAllRecords(records);
	}

	protected Connection createConnection() {
		try {

			return DriverManager.getConnection(connectionURL, user, password);

		} catch (SQLException sqlx) {
			sqlx.printStackTrace();
			throw new RuntimeException("Exception while trying to connect: " + sqlx);
		}
	}

	public void reportResourcesUsed(PrintStream out) {
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy