2014-01-13 33 views
0

我在基於Spring的應用程序中使用BoneCP。基於Spring的Cloudbees應用程序中的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是否有短的值?

回答

2

您可以通過環境變量CloudBees SDK注入它。

1.Inject的數據源,並通過蜜蜂應用以下環境變量:綁定

隨着CloudBees的SDK:

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

它會自動注入一個數據源,將創建三個環境變量:

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

請注意,您將通過這種方式爲maxActive使用一個活動連接:默認情況下爲'20'Tomcat JDBC Connection Pool

2.在Spring框架上啓用PlaceHolder並將系統屬性模式標記爲「OVERRIDE」。

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

示例here

3.On您datasource.xml配置文件,那麼你可以使用這樣的事情:

value= "jdbc:"+ ${DATABASE_URL_DB} 

請注意,建議的方式得到CloudBees的總是使用JNDI數據源。

這樣,您將使用我們自己的數據源實現,因此您不必編寫用戶名,密碼或數據庫的URL。代替所有這些生產線,您可以將它們全部替換爲這一個:

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

感謝您的回答。這真的很有幫助。 順便說一句,沒有任何方式可以做到這一點,而不使用cloudbees sdk? –

+0

AFAIK它是我們正在努力的一項改進。我們始終建議使用CloudBees。這是您可以完全控制運行時環境的方式。 – felix

+0

Cloudbees SDK很棒,但有時我們必須使用沒有安裝SDK的機器。當你連接速度很慢時,下載SDK是一項非常艱鉅的任務,而且當你開始懷疑是否有什麼方法可以在沒有SDK的情況下完成任務。 –

相關問題