Example usage for java.sql DriverManager registerDriver

List of usage examples for java.sql DriverManager registerDriver

Introduction

In this page you can find the example usage for java.sql DriverManager registerDriver.

Prototype

public static void registerDriver(java.sql.Driver driver) throws SQLException 

Source Link

Document

Registers the given driver with the DriverManager .

Usage

From source file:org.dspace.storage.rdbms.DataSourceInit.java

public static DataSource getDatasource() throws SQLException {
    if (dataSource != null) {
        return dataSource;
    }/*from  w  w w .  ja va  2 s.  c  o  m*/

    try {
        // Register basic JDBC driver
        Class driverClass = Class.forName(ConfigurationManager.getProperty("db.driver"));
        Driver basicDriver = (Driver) driverClass.newInstance();
        DriverManager.registerDriver(basicDriver);

        // Read pool configuration parameter or use defaults
        // Note we check to see if property is null; getIntProperty returns
        // '0' if the property is not set OR if it is actually set to zero.
        // But 0 is a valid option...
        int maxConnections = ConfigurationManager.getIntProperty("db.maxconnections");

        if (ConfigurationManager.getProperty("db.maxconnections") == null) {
            maxConnections = 30;
        }

        int maxWait = ConfigurationManager.getIntProperty("db.maxwait");

        if (ConfigurationManager.getProperty("db.maxwait") == null) {
            maxWait = 5000;
        }

        int maxIdle = ConfigurationManager.getIntProperty("db.maxidle");

        if (ConfigurationManager.getProperty("db.maxidle") == null) {
            maxIdle = -1;
        }

        boolean useStatementPool = ConfigurationManager.getBooleanProperty("db.statementpool", true);

        // Create object pool
        ObjectPool connectionPool = new GenericObjectPool(null, // PoolableObjectFactory
                // - set below
                maxConnections, // max connections
                GenericObjectPool.WHEN_EXHAUSTED_BLOCK, maxWait, // don't
                // block
                // more than 5
                // seconds
                maxIdle, // max idle connections (unlimited)
                true, // validate when we borrow connections from pool
                false // don't bother validation returned connections
        );

        // ConnectionFactory the pool will use to create connections.
        ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(
                ConfigurationManager.getProperty("db.url"), ConfigurationManager.getProperty("db.username"),
                ConfigurationManager.getProperty("db.password"));

        //
        // Now we'll create the PoolableConnectionFactory, which wraps
        // the "real" Connections created by the ConnectionFactory with
        // the classes that implement the pooling functionality.
        //
        String validationQuery = "SELECT 1";

        // Oracle has a slightly different validation query
        if ("oracle".equals(ConfigurationManager.getProperty("db.name"))) {
            validationQuery = "SELECT 1 FROM DUAL";
        }

        GenericKeyedObjectPoolFactory statementFactory = null;
        if (useStatementPool) {
            // The statement Pool is used to pool prepared statements.
            GenericKeyedObjectPool.Config statementFactoryConfig = new GenericKeyedObjectPool.Config();
            // Just grow the pool size when needed.
            //
            // This means we will never block when attempting to
            // create a query. The problem is unclosed statements,
            // they can never be reused. So if we place a maximum
            // cap on them, then we might reach a condition where
            // a page can only be viewed X number of times. The
            // downside of GROW_WHEN_EXHAUSTED is that this may
            // allow a memory leak to exist. Both options are bad,
            // but I'd prefer a memory leak over a failure.
            //
            // FIXME: Perhaps this decision should be derived from config parameters?
            statementFactoryConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_GROW;

            statementFactory = new GenericKeyedObjectPoolFactory(null, statementFactoryConfig);
        }

        PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory,
                connectionPool, statementFactory, validationQuery, // validation query
                false, // read only is not default for now
                false); // Autocommit defaults to none

        //
        // Finally, we create the PoolingDataSource itself...
        //
        PoolingDataSource poolingDataSource = new PoolingDataSource();

        //
        // ...and register our pool with it.
        //
        poolingDataSource.setPool(connectionPool);

        dataSource = poolingDataSource;
        return poolingDataSource;
    } catch (Exception e) {
        // Need to be able to catch other exceptions. Pretend they are
        // SQLExceptions, but do log
        log.warn("Exception initializing DB pool", e);
        throw new SQLException(e.toString(), e);
    }
}

From source file:controler.DbModules.java

/**
 * This code is for getting connection to the db
 *
 * @return connection string/*from  w w  w .j  ava2 s. c o  m*/
 */
public static Connection getConnection() {
    try {
        Common one = new Common();

        DriverManager.registerDriver(new com.mysql.jdbc.Driver());//remember this
        con = DriverManager.getConnection(one.getDb_url(), one.getUser(), one.getPassword());
        System.out.println("connected");
    } catch (SQLException sql) {
        System.out.println(sql.getMessage());
    }
    return con;
}

From source file:TestAppletPolicy.java

public void init() {
    System.out.println(getParameter("otherparams"));
    try {//from   w w w.  jav  a  2s  .  c o  m
        System.out.println("init(): loading OracleDriver for applet created at " + created.toString());
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        System.out.println("init(): getting connection");
        conn = DriverManager.getConnection("jdbc:oracle:thin:@dssnt01:1521:dssora01", "scott", "tiger");
    } catch (SQLException e) {
        System.err.println("init(): SQLException: " + e.getMessage());
    }
}

From source file:org.jiemamy.utils.sql.SqlExecutorTest.java

/**
  * ??//from www.j a va2  s .  c om
  * 
  * <p>H2??</p>
  * 
  * @throws java.lang.Exception ????
  */
 @BeforeClass
 public static void setUpBeforeClass() throws Exception {
     DriverManager.registerDriver(new org.h2.Driver());
 }

From source file:controladores.controladorEmpleados.java

private Connection getConexion() {
    if (this.conexion == null) {
        try {//from   w  w  w . ja v  a2s .  c  o m
            DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
            this.conexion = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system",
                    "javaoracle");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
    return this.conexion;
}

From source file:org.sonar.test.persistence.DatabaseTestCase.java

@BeforeClass
public static void startDatabase() throws Exception {
    EmbeddedDriver driver = new EmbeddedDriver();
    DriverManager.registerDriver(driver);
    databaseTester = new JdbcDatabaseTester(driver.getClass().getName(), JDBC_URL + ";create=true");
    createDatabase();/*from  ww w. j  a v  a  2 s . co  m*/
}

From source file:org.springframework.cloud.task.sqoop.common.SqoopToolDatabaseConfiguration.java

@Bean(destroyMethod = "stop")
public Server databaseServer() throws SQLException, IOException {
    DriverManager.registerDriver(new org.hsqldb.jdbcDriver());
    int hsqldbPort = SocketUtils.findAvailableTcpPort(10000);
    System.setProperty("db.server.port", Integer.toString(hsqldbPort));
    logger.info("Database is using port: " + Integer.toString(hsqldbPort));
    HsqlProperties configProps = new HsqlProperties();
    configProps.setProperty("server.port", hsqldbPort);
    configProps.setProperty("server.database.0", "file:target/db/test");
    configProps.setProperty("server.dbname.0", "test");
    Server server = new org.hsqldb.Server();
    server.setLogWriter(null);//from w  w  w.  ja v a2  s  .  co m
    server.setErrWriter(null);
    server.setRestartOnShutdown(false);
    server.setNoSystemExit(true);
    server.setProperties(configProps);
    server.start();
    return server;
}

From source file:org.springframework.cloud.task.app.jdbc.hdfs.local.JdbcHdfsDatabaseConfiguration.java

@Bean(destroyMethod = "stop")
public Server databaseServer() throws SQLException, IOException, ServerAcl.AclFormatException {
    DriverManager.registerDriver(new org.hsqldb.jdbcDriver());
    int hsqldbPort = SocketUtils.findAvailableTcpPort(10000);
    System.setProperty("db.server.port", Integer.toString(hsqldbPort));
    logger.info("Database is using port: " + Integer.toString(hsqldbPort));
    HsqlProperties configProps = new HsqlProperties();
    configProps.setProperty("server.port", hsqldbPort);
    configProps.setProperty("server.database.0", "file:target/db/test");
    configProps.setProperty("server.dbname.0", "test");
    Server server = new Server();
    server.setLogWriter(null);//from w ww.  j  av  a 2  s .c  o  m
    server.setErrWriter(null);
    server.setRestartOnShutdown(false);
    server.setNoSystemExit(true);
    server.setProperties(configProps);
    server.start();
    return server;
}

From source file:com.vaadin.tutorial.todomvc.TodoModel.java

public TodoModel() {
    try {//from  w w w .j  a  va 2  s  .com
        DriverManager.registerDriver(org.hsqldb.jdbc.JDBCDriver.driverInstance);
        conn = getDataSource().getConnection();
        dataProvider = setupDataProvider();
    } catch (SQLException e) {
        throw new RuntimeException("Model initialization failed", e);
    }
}

From source file:nl.b3p.gis.FeatureSchemaFactory.java

/**Creates a FeatureSchema from a table.
 * @param url The url to the database//from  w ww .  j a va  2  s .co  m
 * @param user The user to connect to the database
 * @param password The password needed to connect to the database
 * @param driver The driver used to connect to the database
 * @param table The name of the table in the given database. From this table a FeatureSchema is created
 * @return a FeatureSchema
 */
static public FeatureSchema createFeatureSchemaFromDbTable(String url, String user, String password,
        java.sql.Driver driver, String table, String[] dontAddColumns) throws SQLException, Exception {
    DriverManager.registerDriver(driver);
    return createFeatureSchemaFromDbTable(DriverManager.getConnection(url, user, password), table,
            dontAddColumns);
}