基于Spring的Cloudbees应用程序中的BoneCP配置

时间:2014-01-13 06:30:45

标签: cloudbees bonecp

我在基于Spring的应用程序中使用BoneCP。

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
        <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUrl" value="jdbc:mysql://ec2-23-21-211-???.compute-1.amazonaws.com:3306/?????" />
        <property name="username" value="*****"/>
        <property name="password" value="********"/>
        <property name="idleConnectionTestPeriod" value="60"/>
        <property name="idleMaxAge" value="240"/>
        <property name="maxConnectionsPerPartition" value="3"/>
        <property name="minConnectionsPerPartition" value="1"/>
        <property name="partitionCount" value="1"/>
        <property name="acquireIncrement" value="5"/>
        <property name="statementsCacheSize" value="100"/>
        <property name="releaseHelperThreads" value="3"/>
    </bean>

jdbcURL是否有短值?

1 个答案:

答案 0 :(得分:2)

您可以通过CloudBees SDK通过环境变量注入它。

1.通过bees app:bind

注入数据源和以下环境变量

使用CloudBees SDK:

bees app:bind -a appName -db dbName -as mydb

它会自动注入一个数据源并创建这三个环境变量:

   ${DATABASE_URL_DB}
   ${DATABASE_USERNAME_DB}
   ${DATABASE_PASSWORD_DB}

请注意,您将以这种方式使用maxActive的一个有效连接:Tomcat JDBC Connection Pool默认为“20”。

2.在Spring框架上启用PlaceHolder并将system-properties-mode标记为“OVERRIDE”。

<context:property-placeholder location="classpath:spring/data-access.properties" system-properties-mode="OVERRIDE"/>

示例here

3.在您的datasource.xml配置文件中,您可以使用以下内容:

value= "jdbc:"+ ${DATABASE_URL_DB}

请注意,在CloudBees上获取数据源的推荐方法始终是使用JNDI。

通过这种方式,您将使用我们自己的数据源实现,因此您不必编写用户名,密码或数据库的URL。而不是所有这些行,你可以为这一行替换所有这些:

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/mydb" resource-ref="true"/>