Lesson - 32 : Hibernate - server side connection pooling in Hibernate
Hibernate – Built-in Connection Pooling in Hibernate: 1. If a java program wants to obtain a connection with a database then java API as provided or JDBC API as provided two ways. A) java.sql.DriverManager class B) javax.sql.DataSource interface 2. If a java program want to get direct connection with the database then we use DriverManager class. 3. The connection returned by DriverManager class is a nonreusable connection. The non reusable connections will increase the burden on a database. 4. To overcome the above problem we got connection pooling technique in java. 5. In connection pooling a group of reusable connections(pooled connections) are stored in a pool and the connections are provided to the clients whenever required. 6. To obtain a connection from a connection pool we use DataSource interface in a java program In hibernate connection pooling mechanism is divided into three types 1. Built-in connection pooling / jdbc connection pooling 2. Standalone connection pooing/Third party connection pooling 3. Server side connection pooling Server-side connection pooling 1. In built in connection pooling and also in a stand alone/third party connection pooling. Hibernate itself creates a connection pool internally in case of this server side connection pooling. Hibernate only obtains a connection from a pool which is configured by the administrator at server side but hibernate does not create a connection pool at server side. 2. Hibernate uses DataSource object is created or configured by the administrator as a mediator , to obtain a connection from the pool. 3. If a java program wants to obtain a connection from the pool then a DataSource object will act as mediator between a java application and a connection pool. Steps to configure a connection pool in glassfish3.x: Glassfish 3.x server is automatically installed along with netbeans 7.x IDE. We can find the glassfish server installed with IDE in c:\program files folde 1. Copy driver jar file i.e ojdbc14.jar into c:\program files\glassfish-3.1.2.2\glassfish\domains\domain1\lib\ext folder. 2. Start the glassfish server write the on command line c:\program files\glassfish-3.1.2.2\glassfish\bin>as admin start-domain domain. 3. Open the browser and type the following request http://localhost:4848. 4. At left side expand resources->expand jdbc->select jdbc connection pool ->click on new ->enter the following details. 1. Pool name : samplepool 2. Resource type : javax.sql.DataSource 3. Database Driver Vendor : oracle->click on next 5. Enter the following three additional properties 1. User : system 2. Password : tiger 3. URL:jdbc:oracle:thin :@localhost:1521:orcl3 -> finish. 6. click on pool name(samplepool)->click on ping button->if ping succeded then the pool is created successfully, otherwise pool is not created. 7. At left side click on jdbc resources->new button->enter JNDI name:oraclejndi->pool name:samplepool->ok. Hibernate Examples Project Github Link : https://github.com/SadaLearningHub1/Hibernate-Projects
Hibernate – Built-in Connection Pooling in Hibernate: 1. If a java program wants to obtain a connection with a database then java API as provided or JDBC API as provided two ways. A) java.sql.DriverManager class B) javax.sql.DataSource interface 2. If a java program want to get direct connection with the database then we use DriverManager class. 3. The connection returned by DriverManager class is a nonreusable connection. The non reusable connections will increase the burden on a database. 4. To overcome the above problem we got connection pooling technique in java. 5. In connection pooling a group of reusable connections(pooled connections) are stored in a pool and the connections are provided to the clients whenever required. 6. To obtain a connection from a connection pool we use DataSource interface in a java program In hibernate connection pooling mechanism is divided into three types 1. Built-in connection pooling / jdbc connection pooling 2. Standalone connection pooing/Third party connection pooling 3. Server side connection pooling Server-side connection pooling 1. In built in connection pooling and also in a stand alone/third party connection pooling. Hibernate itself creates a connection pool internally in case of this server side connection pooling. Hibernate only obtains a connection from a pool which is configured by the administrator at server side but hibernate does not create a connection pool at server side. 2. Hibernate uses DataSource object is created or configured by the administrator as a mediator , to obtain a connection from the pool. 3. If a java program wants to obtain a connection from the pool then a DataSource object will act as mediator between a java application and a connection pool. Steps to configure a connection pool in glassfish3.x: Glassfish 3.x server is automatically installed along with netbeans 7.x IDE. We can find the glassfish server installed with IDE in c:\program files folde 1. Copy driver jar file i.e ojdbc14.jar into c:\program files\glassfish-3.1.2.2\glassfish\domains\domain1\lib\ext folder. 2. Start the glassfish server write the on command line c:\program files\glassfish-3.1.2.2\glassfish\bin>as admin start-domain domain. 3. Open the browser and type the following request http://localhost:4848. 4. At left side expand resources->expand jdbc->select jdbc connection pool ->click on new ->enter the following details. 1. Pool name : samplepool 2. Resource type : javax.sql.DataSource 3. Database Driver Vendor : oracle->click on next 5. Enter the following three additional properties 1. User : system 2. Password : tiger 3. URL:jdbc:oracle:thin :@localhost:1521:orcl3 -> finish. 6. click on pool name(samplepool)->click on ping button->if ping succeded then the pool is created successfully, otherwise pool is not created. 7. At left side click on jdbc resources->new button->enter JNDI name:oraclejndi->pool name:samplepool->ok. Hibernate Examples Project Github Link : https://github.com/SadaLearningHub1/Hibernate-Projects