Статьи

Развертывание приложений Spring Database на CloudFoundry.com


Картина


Развертывание приложений Spring на 
CloudFoundry.com  действительно так просто, как 
говорят
SpringSource  .

После получения одобрения для бета-версии Cloud Foundry первым этапом является установка поддержки Cloud Foundry в STS или Eclipse. Кристиан Дюпюи имеет отличный 
пост в блоге  о том, как этого добиться, поэтому я не буду повторять то, что он уже сказал.



Развертывание и запуск приложения с использованием источника данных, в моем случае MySQL, требует немного больше усилий, чем развертывание отдельного приложения, но буквально очень мало.

Чтобы развернуть приложение с источником данных, вы должны сначала объявить, какой источник данных использовать.
В Eclipse откройте сервер Cloud Foundry и нажмите кнопку «Добавить» на панели служб.
Картина

На следующем экране выберите имя и тип источника данных.

Нажмите кнопку «Готово», и источник данных будет зарегистрирован.
Картина
Картина

После регистрации источника данных вы должны указать приложению, какой источник данных использовать.
Это так же просто, как перетаскивание источника данных на панель «Службы приложений» для сервера Cloud Foundry.
Картина

Это все настройки, которые необходимы для сервера.
Однако перед развертыванием приложения необходимо несколько изменений, чтобы указать, какой источник данных требуется.

Поскольку я развертываю приложение Spring, мне нужно изменить файл контекста приложения, чтобы он указывал на новую базу данных Cloud Foundry, а не на локальную базу данных.
Хорошая вещь об использовании базы данных Cloud Foundry заключается в том, что учетные данные базы данных не нужны, все, что нужно, это изменить конфигурацию bean-компонента источника данных в файле servlet-context.xml.

Для локального развертывания конфигурация источника данных будет выглядеть примерно так:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.url}" />

Чтобы настроить это для использования базы данных Cloud Foundry MySQL, конфигурация источника данных должна выглядеть следующим образом:
?

1

<cloud: data-source id = «dataSource» />

Spring 3.1 содержит новую функцию профилей, позволяющую хранить обе эти конфигурации в одном и том же файле контекста.
Однако в Spring 3 эта функция недоступна, поэтому файл контекста должен содержать либо определение источника данных обычного компонента, либо определение нового облачного источника данных.

Чтобы получить доступ к новому
облачному  тегу, необходимо изменить сервлет-context.xml для доступа к облачному пространству имен.
<beans xmlns="http://www.springframework.org/schema/beans"
...
xmlns:cloud="http://schema.cloudfoundry.org/spring"
...
http://schema.cloudfoundry.org/spring
http://schema.cloudfoundry.org/spring/cloudfoundry-spring-0.6.xsd">

Для развертывания приложения требуется одно последнее изменение, чтобы добавить поддержку Cloud Foundry.
Это достигается путем добавления зависимости к Cloud Foundry в файле pom.xml приложений.
<!-- CloudFoundry -->
<dependency>
<groupId>org.cloudfoundry</groupId>
<artifactId>cloudfoundry-runtime</artifactId>
<version>${org.cloudfoundry-version}</version>
</dependency>
<properties>
<org.cloudfoundry-version>0.6.0</org.cloudfoundry-version>
</properties>

После внесения этих изменений приложение Cloud Foundry можно развернуть, запустить и остановить с помощью элементов управления в STS.

От http://www.davidsalter.co.uk/1/post/2011/04/deploying-spring-database-apps-to-cloudfoundrycom.html