我想在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