2012-05-08 2 views
0

Я разработал приложение, использующее JSP, Spring Security, MySql. Я развернул его на Cloudfoundry. Но просто файл войны, и я привязал службу mysql. Но мне также нужно настроить базу данных MySQL, состоящую из двух таблиц, нового пользователя и всего этого в моей собственной базе данных. Пока я тестировал свое приложение на локальном хосте, я подготовил базу данных с ручными сценариями в окне команд MySQL. Вопрос: Как я могу сделать одни и те же конфигурации в CloudFoundry? могу ли я таким же образом запустить все команды и скрипты вручную или экспортировать базу данных так или иначе? если да, то как это сделать. А что писать здесь сейчас вместо localhost?Развертывание базы данных MySql в cloudfoundry

<property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
<property name="url" value="jdbc:mysql://localhost:3306/security_filter" /> 

спасибо

ответ

1

Caldecott (VMC туннель) является правильный способ доступа к базе данных cloudoundry (для меня это работает, и я использую Ruby 1.8): http://docs.cloudfoundry.com/tools/vmc/caldecott.html

Если это не работает для вас вам нужно будет сделать что-то вручную (намного сложнее):

  • Создать образец приложения jsp/servlet, которое подключается к базе данных mysql (получение строки подключения, usern ame и пароль в качестве ввода от пользователя). Затем он просто запустит инструкцию sql к базе данных (оператор sql будет также вводиться пользователем)
  • Свяжите это приложение в своей войне
  • Теперь вам нужно получить строку подключения к базе данных/имя пользователя и пароль. Вы можете получить их из переменной окружения VCAP_SERVICES. Просто зарегистрируйте его в стартовом прослушивателе (например, ServletContextListener)
  • Разверните свою войну и получите журналы с сервера (vmc logs ApplicationName). Получить строку подключения, имя пользователя и пароль
  • Logon для вашего приложения и использовать приложение базы данных для доступа к базе данных, используя данные дб собранные на предыдущем шаге

Сразу отметим, что это очень опасный подход. Просто убедитесь, что это приложение базы данных или после первоначального импорта удалите его из вашей войны и повторно разверните приложение.

В качестве окончательного замечания вы можете проверить, существует ли такое приложение консоли базы данных, так что вам не нужно создавать свои собственные (например, Грааль имеет приятное приложение для этого http://grails.org/plugin/dbconsole. Может быть, что-то существует для JSP/сервлетов)

Надеются, что это помогает, если вы не везете с проблемой рубинового

0

вы должны были бы создать туздЫшпр вашей базы данных , Как только у вас есть файл mysqldump, вы затем используете caldecott и выполняете туннель vmc для вашего MySQL-сервиса. После того, как вы установили соединение с вашим сервисом MySQL в Cloud Foundry, вам необходимо использовать команду mysql, чтобы вручную импортировать файл mysqldump в вашу службу.

Как использовать туннель vmc, посетите сайт документации по адресу: http://docs.cloudfoundry.com/tools/vmc/caldecott.html