Вопрос по java – Как сделать пул соединений в Java?

4

Я пытаюсь понятьconnection pooling in java, я используюjsp, servlet and tomcat 6 server в моем приложении. Я написал следующий код вjava class dbconnection.java:

Я использую JDBC-соединение типа 4 с Oracle 10g EE в Windows Xp OS

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

    public class dbconnection {   
     public Connection con = null;    
      public Connection getConnection() throws Exception, SQLException
       {
         try
           {
          Class.forName("oracle.jdbc.driver.OracleDriver");
           con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:abc","abc", "abc");           
           }
           catch(Exception e)
           {          
           }
        return con;
        }
    public void removeConnection() throws SQLException
  {
    con.close();
  }
 }

Тогда я возвращаюсьconnection в сервлете следующее:

try{
 dbconnection db= new dbconnection();

 Connection con=db.getConnection();
 }
 catch(Exception e){
 } 
finally{
 db.removeConnection();//removes connection
}

Этоconnection pooling или требуется некоторая конфигурация вtomcat server или что-то другое?

@artbristol да, но как мне написатьcatch statement? пожалуйста, помогите мне немного sujit
Проверьте это Q & A для получения дополнительной информации:stackoverflow.com/questions/1458693/… Boris Pavlović
Не делайте этогоcatch(Exception e) { }, это делает отладку невозможной. artbristol
Проверенные исключения - это боль. Я обычно просто делаюcatch(Exception e) { throw new RuntimeException(e); }, но это зависит. artbristol
Ответ на ваш вопрос здесь:stackoverflow.com/questions/2835090/jdbc-connection-pooling Michael Fernando

Ваш Ответ

3   ответа
3

й, предоставляемый вашим контейнером Java EE (например, JBoss или WebSphere).

Для этого вы настраиваете и используете источник данных JNDI.

Вот детали для Tomcat:

http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html

http://www.tomcatexpert.com/blog/2012/01/24/using-tomcat-7-jdbc-connection-pool-production

6

connection pool В случае пула соединений JDBC пул объектов Соединений создается во время запуска сервера приложений. Клиент может получить доступ к объекту соединения в пуле соединений и вернуть объект в пул после завершения работы с БД.

context.xml

   <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" 
maxActive="100" maxIdle="30" maxWait="10000" username="root" password="" 
driverClassName="com.mysql.jdbc.Driver"               
url="jdbc:mysql://localhost:3306/cdcol"/>

// Это должно быть добавлено в контексте сервера, XML-файл. Например, если вы используете сервер Apache, то context.xml будет найден в C: \ apache-tomcat-6.0.26 \ conf \ Context.xml

web.xml

  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

// Это должно быть добавлено в web.xml локального проекта. (Нет в файле web.xml сервера).

Context ctx=new InitialContext();
          Context envContext = (Context)ctx.lookup("java:comp/env");
          DataSource ds=(DataSource)envContext.lookup("jdbc/TestDB");//TestDB is the Database Name
          con=ds.getConnection();
          stmt = con.createStatement();
Вы не смогли раскрыть этоyour сайт, и ваш текст здесь просто говорит, что пул подключенийis, Это не ответ.
Отредактировал ответ. Теперь это нормально?
Вопрос в том, как сделать пул соединений, и человек задал пример. Поэтому я указал на сайт, на котором объясняется пул соединений, а также приводится пример реализации.
Ранее я уже уведомлял вас о требовании раскрытия при размещении ссылки на ваш собственный сайт. Кроме того, ваш блог делаетnot ответьте на вопрос, заданный выше .... и не ваш текст здесь.
Лучше. Голосование вниз убрано :)
1

доступная на всех основных веб-серверах и серверах приложений. Вы можете найти простой пример настройки с помощью Tomcat.Tomcat Connection Pooling

Но если вы хотите написать свой собственный пул соединений, то есть библиотеки, доступные для записи.Apache DBCP

Похожие вопросы