Examples of ConnectionProvider


Examples of org.hibernate.connection.ConnectionProvider

    System.gc();
  }

  public void testJdbcOnly() throws Exception {

    ConnectionProvider cp = ConnectionProviderFactory.newConnectionProvider( Environment.getProperties() );

    for ( int n=2; n<4000; n*=2 ) {

      Simple[] simples = new Simple[n];
      Serializable[] ids = new Serializable[n];
      for ( int i=0; i<n; i++ ) {
        simples[i] = new Simple();
        simples[i].init();
        simples[i].setCount(i);
        ids[i] = new Long(i);
      }

      //Now do timings

      Connection c = cp.getConnection();
      long time = System.currentTimeMillis();
      directJDBC( c, simples, ids, n, "j1" );
      long jdbc = System.currentTimeMillis() - time;
      cp.closeConnection(c);

      c = cp.getConnection();
      time = System.currentTimeMillis();
      directJDBC( c, simples, ids, n, "j2" );
      jdbc += System.currentTimeMillis() - time;
      cp.closeConnection(c);

      c = cp.getConnection();
      time = System.currentTimeMillis();
      directJDBC( c, simples, ids, n, "j2" );
      jdbc += System.currentTimeMillis() - time;
      cp.closeConnection(c);

      System.out.println( "Objects: " + n + " Direct JDBC: " + jdbc );

    }

    cp.close();
    System.gc();
  }
View Full Code Here

Examples of org.hibernate.connection.ConnectionProvider

    TestRunner.run( suite() );
  }

  public void testMany() throws Exception {

    ConnectionProvider cp = ConnectionProviderFactory.newConnectionProvider( Environment.getProperties() );

    long hiber=0;
    long jdbc=0;

    for ( int n=0; n<20; n++ ) {

      Session s = openSession();
      s.delete("from Simple");
      s.flush();
      Simple[] simples = new Simple[n];
      Serializable[] ids = new Serializable[n];
      for ( int i=0; i<n; i++ ) {
        simples[i] = new Simple();
        simples[i].init();
        simples[i].setCount(i);
        ids[i] = new Long(i);
        s.save(simples[i], ids[i]);
      }
      s.flush();
      s.connection().commit();
      s.close();

      //allow cache to settle

      s = openSession();
      hibernate(s, simples, ids, n, "h0");
      s.close();

      Connection c = cp.getConnection();
      directJDBC( c, simples, ids, n, "j0" );
      cp.closeConnection(c);

      s = openSession();
      hibernate(s, simples, ids, n, "h0");
      s.close();

      c = cp.getConnection();
      directJDBC( c, simples, ids, n, "j0" );
      cp.closeConnection(c);

      //Now do timings

      int N=30;

      long time = System.currentTimeMillis();
      for (int i=0; i<N; i++) {
        s = openSession();
        hibernate(s, simples, ids, n, "h1");
        s.close();
      }
      hiber += System.currentTimeMillis() - time;

      time = System.currentTimeMillis();
      for (int i=0; i<N; i++) {
        c = cp.getConnection();
        directJDBC( c, simples, ids, n, "j1" );
        cp.closeConnection(c);
      }
      jdbc += System.currentTimeMillis() - time;

      time = System.currentTimeMillis();
      for (int i=0; i<N; i++) {
        s = openSession();
        hibernate(s, simples, ids, n, "h2");
        s.close();
      }
      hiber += System.currentTimeMillis() - time;

      time = System.currentTimeMillis();
      for (int i=0; i<N; i++) {
        c = cp.getConnection();
        directJDBC( c, simples, ids, n, "j2" );
        cp.closeConnection(c);
      }
      jdbc += System.currentTimeMillis() - time;

      time = System.currentTimeMillis();
      for (int i=0; i<N; i++) {
        s = openSession();
        hibernate(s, simples, ids, n, "h1");
        s.close();
      }
      hiber += System.currentTimeMillis() - time;

      time = System.currentTimeMillis();
      for (int i=0; i<N; i++) {
        c = cp.getConnection();
        directJDBC( c, simples, ids, n, "j1" );
        cp.closeConnection(c);
      }
      jdbc += System.currentTimeMillis() - time;

    }

    System.out.println( "Hibernate: " + hiber + "ms / Direct JDBC: " + jdbc + "ms = Ratio: " + ( (float) hiber )/jdbc );

    cp.close();
    System.gc();
  }
View Full Code Here

Examples of org.hibernate.connection.ConnectionProvider

    System.gc();
  }

  public void testSimultaneous() throws Exception {

    ConnectionProvider cp = ConnectionProviderFactory.newConnectionProvider( Environment.getProperties() );

    for ( int n=2; n<4000; n*=2 ) {

      Session s = openSession();
      s.delete("from Simple");
      s.flush();
      Simple[] simples = new Simple[n];
      Serializable[] ids = new Serializable[n];
      for ( int i=0; i<n; i++ ) {
        simples[i] = new Simple();
        simples[i].init();
        simples[i].setCount(i);
        ids[i] = new Long(i);
        s.save(simples[i], ids[i]);
      }
      s.flush();
      s.connection().commit();
      s.close();

      //allow cache to settle

      s = openSession();
      hibernate(s, simples, ids, n, "h0");
      s.close();

      Connection c = cp.getConnection();
      directJDBC( c, simples, ids, n, "j0" );
      cp.closeConnection(c);

      s = openSession();
      hibernate(s, simples, ids, n, "h0");
      s.close();

      c = cp.getConnection();
      directJDBC( c, simples, ids, n, "j0" );
      cp.closeConnection(c);

      //Now do timings

      s = openSession();
      long time = System.currentTimeMillis();
      hibernate(s, simples, ids, n, "h1");
      long hiber = System.currentTimeMillis() - time;
      s.close();

      c = cp.getConnection();
      time = System.currentTimeMillis();
      directJDBC( c, simples, ids, n, "j1" );
      long jdbc = System.currentTimeMillis() - time;
      cp.closeConnection(c);

      s = openSession();
      time = System.currentTimeMillis();
      hibernate(s, simples, ids, n, "h2");
      hiber += System.currentTimeMillis() - time;
      s.close();

      c = cp.getConnection();
      time = System.currentTimeMillis();
      directJDBC( c, simples, ids, n, "j2" );
      jdbc += System.currentTimeMillis() - time;
      cp.closeConnection(c);

      s = openSession();
      time = System.currentTimeMillis();
      hibernate(s, simples, ids, n, "h2");
      hiber += System.currentTimeMillis() - time;
      s.close();

      c = cp.getConnection();
      time = System.currentTimeMillis();
      directJDBC( c, simples, ids, n, "j2" );
      jdbc += System.currentTimeMillis() - time;
      cp.closeConnection(c);

      System.out.println( "Objects: " + n + " - Hibernate: " + hiber + "ms / Direct JDBC: " + jdbc + "ms = Ratio: " + ( (float) hiber )/jdbc );

    }

    cp.close();
    System.gc();
  }
View Full Code Here

Examples of org.hibernate.connection.ConnectionProvider

   * @see org.hibernate.engine.SessionFactoryImplementor#getConnectionProvider
   * @see LocalDataSourceConnectionProvider
   */
  public static DataSource getDataSource(SessionFactory sessionFactory) {
    if (sessionFactory instanceof SessionFactoryImplementor) {
      ConnectionProvider cp = ((SessionFactoryImplementor) sessionFactory).getConnectionProvider();
      if (cp instanceof LocalDataSourceConnectionProvider) {
        return ((LocalDataSourceConnectionProvider) cp).getDataSource();
      }
    }
    return null;
View Full Code Here

Examples of org.hibernate.connection.ConnectionProvider

   * @see org.hibernate.engine.SessionFactoryImplementor#getConnectionProvider
   * @see LocalDataSourceConnectionProvider
   */
  public static DataSource getDataSource(SessionFactory sessionFactory) {
    if (sessionFactory instanceof SessionFactoryImplementor) {
      ConnectionProvider cp = ((SessionFactoryImplementor) sessionFactory).getConnectionProvider();
      if (cp instanceof LocalDataSourceConnectionProvider) {
        return ((LocalDataSourceConnectionProvider) cp).getDataSource();
      }
    }
    return null;
View Full Code Here

Examples of org.hibernate.connection.ConnectionProvider

   * @see org.hibernate.engine.SessionFactoryImplementor#getConnectionProvider
   * @see LocalDataSourceConnectionProvider
   */
  public static DataSource getDataSource(SessionFactory sessionFactory) {
    if (sessionFactory instanceof SessionFactoryImplementor) {
      ConnectionProvider cp = ((SessionFactoryImplementor) sessionFactory).getConnectionProvider();
      if (cp instanceof LocalDataSourceConnectionProvider) {
        return ((LocalDataSourceConnectionProvider) cp).getDataSource();
      }
    }
    return null;
View Full Code Here

Examples of org.hibernate.engine.jdbc.connections.spi.ConnectionProvider

          },
          sqlStatementLogger
      );
    }

    final ConnectionProvider connectionProvider = serviceRegistry.getService( ConnectionProvider.class );
    if ( connectionProvider != null ) {
      return new JdbcConnectionContext(
          new JdbcConnectionAccess() {
            @Override
            public Connection obtainConnection() throws SQLException {
              return connectionProvider.getConnection();
            }

            @Override
            public void releaseConnection(Connection connection) throws SQLException {
              connectionProvider.closeConnection( connection );
            }

            @Override
            public boolean supportsAggressiveRelease() {
              return connectionProvider.supportsAggressiveRelease();
            }
          },
          sqlStatementLogger
      );
    }
View Full Code Here

Examples of org.hibernate.engine.jdbc.connections.spi.ConnectionProvider

      return null;
    }

    final StrategySelector strategySelector = registry.getService( StrategySelector.class );

    ConnectionProvider connectionProvider = null;
    final String providerName = getConfiguredConnectionProviderName( configurationValues );
    if ( providerName != null ) {
      connectionProvider = instantiateExplicitConnectionProvider( providerName, strategySelector );
    }
    else if ( configurationValues.get( Environment.DATASOURCE ) != null ) {
      connectionProvider = new DatasourceConnectionProviderImpl();
    }

    if ( connectionProvider == null ) {
      if ( c3p0ConfigDefined( configurationValues ) ) {
        connectionProvider = instantiateC3p0Provider( strategySelector );
      }
    }

    if ( connectionProvider == null ) {
      if ( proxoolConfigDefined( configurationValues ) ) {
        connectionProvider = instantiateProxoolProvider( strategySelector );
      }
    }

    if ( connectionProvider == null ) {
      if ( configurationValues.get( Environment.URL ) != null ) {
        connectionProvider = new DriverManagerConnectionProviderImpl();
      }
    }

    if ( connectionProvider == null ) {
      LOG.noAppropriateConnectionProvider();
      connectionProvider = new UserSuppliedConnectionProviderImpl();
    }


    final Map injectionData = (Map) configurationValues.get( INJECTION_DATA );
    if ( injectionData != null && injectionData.size() > 0 ) {
      final ConnectionProvider theConnectionProvider = connectionProvider;
      new BeanInfoHelper( connectionProvider.getClass() ).applyToBeanInfo(
          connectionProvider,
          new BeanInfoHelper.BeanInfoDelegate() {
            public void processBeanInfo(BeanInfo beanInfo) throws Exception {
              final PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors();
View Full Code Here

Examples of org.hibernate.engine.jdbc.connections.spi.ConnectionProvider

    if ( providedConnection != null ) {
      return new JdbcConnectionContext( new ProvidedJdbcConnectionAccess( providedConnection ), sqlStatementLogger );
    }

    final ConnectionProvider connectionProvider = serviceRegistry.getService( ConnectionProvider.class );
    if ( connectionProvider != null ) {
      return new JdbcConnectionContext( new ConnectionProviderJdbcConnectionAccess( connectionProvider ), sqlStatementLogger );
    }

    // otherwise, return a no-op impl
View Full Code Here

Examples of org.hibernate.engine.jdbc.connections.spi.ConnectionProvider

          },
          sqlStatementLogger
      );
    }

    final ConnectionProvider connectionProvider = serviceRegistry.getService( ConnectionProvider.class );
    if ( connectionProvider != null ) {
      return new JdbcConnectionContext(
          new JdbcConnectionAccess() {
            @Override
            public Connection obtainConnection() throws SQLException {
              return connectionProvider.getConnection();
            }

            @Override
            public void releaseConnection(Connection connection) throws SQLException {
              connectionProvider.closeConnection( connection );
            }

            @Override
            public boolean supportsAggressiveRelease() {
              return connectionProvider.supportsAggressiveRelease();
            }
          },
          sqlStatementLogger
      );
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.