我想在tomcat上運行的web應用程序中使用連接池和JPA/TopLink。早期我使用jdbc的Connection和Statement類來處理數據庫中的數據;使用連接池這樣,我只是在context.xml中聲明的資源和應用程序中獲得此資源:使用tomcat的JPA連接池
Context c = new InitialContext();
DataSource source = (DataSource) ((Context)c.lookup("java:comp/env")).lookup("jdbc/MySource");
現在我想用這樣的連接池與JPA。我怎樣才能做到這一點?
還有一個問題:我在一些例子中已經看到reosurce在context.xml中聲明,然後在web.xml中在< resource-ref>中聲明。爲什麼我應該在不同的地方聲明它,或者它是相同的聲明,我的意思是它在context.xml中聲明的等價物?
因此,如果我在context.xml中定義了< resource>,並且未在web.xml中定義,那麼我是否可以使用池連接,或者每當我獲取數據從數據庫? –
maks
2011-06-09 14:37:00
Tomcat數據源默認使用已經是連接池的內置DBCP數據源。但是,您可以通過更改''中的工廠參數來更改它,另請參閱http://stackoverflow.com/questions/520585/connection-pooling-options-with-jdbc-dbcp-vs-c3p0/3481821#3481821 –
BalusC
2011-06-09 14:41:17
@BalusC我們如何才能從Datasource獲得Entitymanager ......因爲我聽說我們無法在tomcat中使用JPA進行連接池,因爲它不是JEE服務器,而且我正在使用JPA utill類從中獲取entitymanager。 。:) – goodyzain 2015-03-23 05:17:24