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

com.jk.data.datasource.impl.JKC3p0DataSource Maven / Gradle / Ivy

//package com.jk.data.datasource.impl;
//
//import static com.jk.core.config.JKConstants.Hibernate.*;
//import java.beans.PropertyVetoException;
//import java.sql.Connection;
//import java.sql.SQLException;
//import java.util.Map;
//import java.util.Properties;
//
//import javax.persistence.EntityManager;
//
//import org.hibernate.cfg.Configuration;
//
//import com.jk.core.config.JKConfig;
//import com.jk.core.exceptions.JKDataAccessException;
//import com.jk.core.util.JK;
//import com.jk.data.datasource.JKDataSourceListener;
//import com.mchange.v2.c3p0.ComboPooledDataSource;
//
//public class JKC3p0DataSource extends JKHibernateDataSource {
//
//	/** The pool. */
//	private ComboPooledDataSource pool;
//
//	/**
//	 * 
//	 * @param name
//	 * @param properties
//	 */
//	public JKC3p0DataSource(String name, Properties properties) {
//		super(name, properties);
//	}
//
//	/**
//	 * Inits the connectino pool.
//	 *
//	 * @throws PropertyVetoException the property veto exception
//	 */
//	protected void initConnectinoPool() {
//		logger.info("initConnectinoPool");
//		if (pool != null) {
//			pool.close();
//		}
//		try {
//			pool = new ComboPooledDataSource(true);
//			pool.setDataSourceName(getName());
//			JKConfig config=getConfig();
//			pool.setJdbcUrl(config.getProperty(JDBC_URL));
//			pool.setUser(config.getProperty(JDBC_USERNAME));
//			pool.setPassword(config.getProperty(JDBC_PASSWORD));
//			pool.setDriverClass(getDatabaseType().driver());
//
////			pool.setInitialPoolSize(JK.toInt(config.getProperty(HIBERNATE_C3P0_INITIAL_POOL_SIZE)));
//			pool.setMinPoolSize(JK.toInt(config.getProperty(HIBERNATE_MIN_SIZE)));
//			pool.setMaxPoolSize(JK.toInt(config.getProperty(HIBERNATE_MAX_SIZE)));
//
//			// cleanup
//			pool.setMaxIdleTime(JK.toInt(config.getProperty(HIBERNATE_C3P0_TIMEOUT)));
//
//			pool.setCheckoutTimeout(JK.toInt(config.getProperty(HIBERNATE_C3P0_CHECKOUT_TIMEOUT)));
//
//			pool.setMaxStatements(JK.toInt(config.getProperty(HIBERNATE_C3P0_STATEMENTS_CACHE)));
//			pool.setUnreturnedConnectionTimeout(
//					JK.toInt(config.getProperty(HIBERNATE_C3P0_UNRETURNED_CONNECTION_TIMEOUT)));
//
//			pool.setAcquireIncrement(JK.toInt(config.getProperty(HIBERNATE_C3P0_ACQUIRE_INCREMENT)));
//			pool.setAcquireRetryAttempts(JK.toInt(config.getProperty(HIBERNATE_C3P0_ACQUIRE_RETRY_ATTEMPTS)));
//			pool.setAcquireRetryDelay(JK.toInt(config.getProperty(HIBERNATE_C3P0_ACQUIRE_RETRY_DELAY)));
//
//			pool.setContextClassLoaderSource(config.getProperty(HIBERNATE_C3P0_CONTEXT_CLASS_LOADER_SOURCE));
//			pool.setNumHelperThreads(JK.toInt(config.getProperty(HIBERNATE_C3P0_NUM_HELPER_THREADS)));
//
//			pool.setPreferredTestQuery(config.getProperty(HIBERNATE_C3P0_PREFERRED_TEST_QUERY));
//			pool.setTestConnectionOnCheckout(
//					Boolean.parseBoolean(config.getProperty(HIBERNATE_C3P0_TEST_CONNECTION_ON_CHECKOUT)));
//			pool.setAutomaticTestTable(config.getProperty(HIBERNATE_C3P0_AUTOMATIC_TEST_TABLE));
//
//			pool.setDebugUnreturnedConnectionStackTraces(
//					Boolean.parseBoolean(config.getProperty(HIBERNATE_C3P0_DEBUG_UNRETURNED_CONNECTION_STACK_TRACES)));
//
//			pool.setMaxConnectionAge(JK.toInt(config.getProperty(HIBERNATE_C3P0_MAX_CONNECTION_AGE)));
//			pool.setMaxAdministrativeTaskTime(JK.toInt(config.getProperty(HIBERNATE_C3P0_ADMIN_MAX_TASK_TIME)));
//			pool.setIdleConnectionTestPeriod(
//					JK.toInt(config.getProperty(HIBERNATE_C3P0_IDLE_CONNECTION_CHECK_TIMEOUT)));
//			pool.setPrivilegeSpawnedThreads(true);// make it conigurable
//			pool.setForceSynchronousCheckins(true);
//		} catch (Exception e) {
//			JK.throww(e);
//		}
//		logger.info("Init pool to properties({})", pool.toString(true));
//		try (Connection conn = pool.getConnection()) {
//		} catch (SQLException e) {
//			JK.throww(e);
//		}
//
//		logger.debug("/initConnectinoPool");
////		pool.setProperties( config.getProperties());
//	}
//
//	public ComboPooledDataSource getPool() {
//		return pool;
//	}
//
//	@Override
//	public Connection createConnection() {
//		try {
//			return pool.getConnection();
//		} catch (SQLException e) {
//			throw new JKDataAccessException(e);
//		}
//	}
//
//	/**
//	 * Gets the hibernate final config.
//	 *
//	 * @return the hibernate final config
//	 */
//	@Override
//	protected Properties getHibernateExtraConfig() {
//		Properties finalConfig = getProperties();
////		finalConfig.put(HIBERNATE_C3P0_INITIAL_POOL_SIZE, "1");
//		finalConfig.put(HIBERNATE_MIN_SIZE, "1");
//		finalConfig.put(HIBERNATE_MAX_SIZE, "1");
//		return finalConfig;
//	}
//
//	/////////////////////////////////////////////////////////////////////////////
//	public EntityManager createEntityManager() {
//		EntityManager manager = getSessionFactory().withOptions().connection(getConnection()).openSession();
//		return manager;
//	}
//
//	@Override
//	public void close() {
//		super.close();
//		if (pool != null) {
//			cleanSpecificDatabaseResources();
//			try {
//				logger.debug("close EMF");
//				pool.close();
//			} catch (Exception e) {
//				logger.error(e);
//			}
//			pool = null;
//		}
//
//	}
//
//
//}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy