简体   繁体   English

创建Spring DataSource以连接到Google Cloud SQL

[英]Creating a Spring DataSource for connecting to Google Cloud SQL

I'm trying to find the best way to create a dataSource in Spring for connecting to a Google Cloud SQL instance. 我正在尝试找到在Spring中创建dataSource以连接到Google Cloud SQL实例的最佳方法。

I'm currently using: 我目前正在使用:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.GoogleDriver" />
    <property name="url" value="jdbc:google:mysql://myappid:instanceId/mydb?user=myuser" />
    <property name="username" value="myuser" />
    <property name="password" value="mypassword" />
</bean>

However, I'm a little concerned about using the DriverManagerDataSource provided by Spring as it's documentation says it creates a new connection for every call. 但是,我有点担心使用Spring提供的DriverManagerDataSource,因为它的文档说它为每个调用创建了一个新连接。

Before migrating over to App Engine I was using a connection pool called BoneCP - however it uses classes that are restricted by App Engine. 在迁移到App Engine之前,我使用的是名为BoneCP的连接池 - 但是它使用受App Engine限制的类。 Is there a connection pool or some other data source class that is recommended to be used with Google Cloud SQL? 是否存在建议与Google Cloud SQL一起使用的连接池或其他数据源类?

Try c3p0 or commons-dbcp . 尝试c3p0commons-dbcp They both implement javax.sql.Datasource which is whitelisted by app-engine . 它们都实现了javax.sql.Datasource,它被app-engine列入白名单

Example on commons-dbcp: commons-dbcp上的示例:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.GoogleDriver" />
    <property name="url" value="jdbc:google:mysql://myappid:instanceId/mydb?user=myuser" />
    <property name="username" value="myuser" />
    <property name="password" value="mypassword" />
    <property name="validationQuery" value="SELECT 1"/>
</bean>

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

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