webForumDet fria alternativet

Sätta upp connection pool i Tomcat och använda den...

Java

1 svar · 652 visningar · startad av swede

Medlem sedan feb. 2004230 inlägg
Frågan#1

Jag försöker få igång connection pooling via Tomcat 5.5

Om jag har förstått det rätt så ska man definera upp en resurs i applikationens Context:

Min Context.xml (som ligger i /META-INF)

<Context

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

</Context>

Sedan definerar jag resursen i 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>

Så, stämmer min konfigurering hittills?
Hur gör jag sedan för att använda min connection pool i min applikation?

Medlem sedan feb. 2004230 inlägg
#2

Jag svarar på mitt egna inlägg då jag verkar ha hittat en lösning.

Konfigurationen ovan verkar fungera och följande kod i javaklasserna hämtar upp en connection från poolen:

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/TestDB");
Connection conn = ds.getConnection();
250 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)