Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie macht man Verbindungspooling in Java?

Ein Verbindungspool funktioniert, indem Verbindungen im Voraus erstellt werden. Im Falle eines JDBC-Verbindungspools wird ein Pool von Verbindungsobjekten zum Zeitpunkt des Starts des Anwendungsservers erstellt. Der Client kann auf das Verbindungsobjekt im Verbindungspool zugreifen und das Objekt an den Pool zurückgeben, sobald die DB-Arbeit abgeschlossen ist.

Kontext.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"/>

//Dies sollte in der XML-Datei des Serverkontexts hinzugefügt werden. Wenn Sie beispielsweise einen Apache-Server verwenden, befindet sich die context.xml in 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>

//Dies sollte in der web.xml des lokalen Projekts hinzugefügt werden. (Nicht in web.xml des Servers).

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();