繁体   English   中英

是否可以将JPA连接池与Google App Engine和Cloud SQL一起使用?

[英]Is it possible to use a JPA connection pool with Google App Engine and Cloud SQL?

(注意:是的,围绕该主题存在一些重复的问题。但是,这些问题存在的时间已经很久了……早在Google App Engine仅支持JPA 1.0和专有的NoSQL Datastore的时候。现在访问,因为它支持更多现代JPA标准和MySQL。)

我正在使用JPA作为持久性框架,在Google App Engine Java项目中试用Cloud SQL。 Google的FAQ在将连接池与Cloud SQL结合使用方面有些矛盾...说如果创建新连接的成本超过检查和重用现有连接的成本,这可能是值得的。

我预计我的应用程序将迅速发出大量非常短命的数据库操作,因此似乎适合连接池的用例。 而且,我** FAR **更担心由于配额限制而拒绝连接,而不是让请求块等待连接池释放以等待几秒钟。 根据Google App Engine运行时配额的先前经验,如果没有连接池,我什至不会认为Cloud SQL是可行的服务。

问题是JPA通常通过JNDI附加到连接池,而Google App Engine不支持JNDI 人们如何将连接池与Google App Engine和Cloud SQL结合使用? 有没有办法在没有JNDI的情况下以编程方式将连接池附加到JPA EntityManagerFactory? 还是您必须放弃JPA,并使用手动JDBC或其他持久性框架(例如JDO)编写持久性层?

在一定程度上,我目前正在尝试使用EclipseLink作为JPA提供程序,并使用Tomcat DBCP进行连接池(我在其他StackOverflow问题中已经看到Tomcat DBCP可以使用App Engine的线程限制)。 我愿意探索其他提供程序或持久性机制(例如本机Hibernate,JDO等)...但是我更愿意坚持使用JPA标准,如果它需要纯手动JDBC来与连接一起使用,则可能会完全传递Cloud SQL。汇集。

我可以看到这是一个古老的问题,但是如果有人最终在这里寻找答案,我可以在带Cloud SQL的App Engine上使用Spring和Apache BasicDataSource ,它可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM