2014-01-13 9 views
0

Я использую BoneCP в своем приложении на основе Spring.BoneCP config в приложении Spring для Cloudbees

<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 

Он будет автоматически впрыскивать источник данных и создаст эти три переменные окружения:

Пожалуйста, обратите внимание, что вы используете для этого одно активное соединение для maxActive: «20» по умолчанию на Tomcat JDBC Connection Pool.

2.Enable PlaceHolder на платформе Spring и маркирует системные свойства-режим как «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"/> 
+0

Спасибо за ваш ответ. Это действительно полезно. Btw, нет ли способа, которым вы могли бы это сделать, не используя cloudbees sdk? –

+0

AFAIK это усовершенствование, над которым мы работаем. Мы всегда рекомендуем использовать CloudBees. Это способ, которым вы можете полностью контролировать среду выполнения. – felix

+0

Cloudbees SDK замечательный, но иногда нам приходится работать с машинами, на которых не установлен SDK. Загрузка SDK - это довольно сложная задача, когда у вас медленные соединения, и когда вы начинаете задаваться вопросом, есть ли способ, которым вы могли бы справиться без SDK. –