Вопрос:

Grails: одна база данных и несколько приложений

grails gorm

267 просмотра

2 ответа

100 Репутация автора

У меня приложение Grails GORM. Один веб-сервис и один веб-сайт работают на разных портах и ​​совместно используют общую базу данных и таблицы.
Что я сделал, так это создал класс домена для обоих приложений, имеющих одинаковые поля и имя класса домена. Например, таблица регистрации , имеющая поля userName и password. Один может зарегистрироваться через веб-сервис, а также с веб-сайта.
Мои текущие приложения работают нормально ... но возможно ли это решение?

Спасибо,
вирусный

Автор: Viral Thakkar Источник Размещён: 23.03.2012 06:16

Ответы (2)


3 плюса

21270 Репутация автора

Решение

Вы можете столкнуться с условиями гонки / блокировки, но я видел, как это делалось во многих случаях. Мое единственное предложение - не поддерживать отдельные классы домена. Поместите общие классы домена в плагин и установите этот плагин в обоих приложениях.

Еще один распространенный подход, который, как я видел, имитирует ваш подход, заключается в развертывании приложения, ориентированного на клиента, отдельно от admin / cms. Оба общаются с одной и той же базой данных, они просто работают в разных экземплярах tomcat.

Автор: Gregg Размещён: 24.03.2012 02:58

0 плюса

11 Репутация автора

Вы можете создать отдельное приложение Gradle, которое использует зависимость GORM, которое содержит только общие классы домена. Создайте эти классы (POJO) в src / main / groovy / bla / xyz, аннотируйте их

grails.gorm.annotation.Entity

Это заставит GORM идентифицировать ваш POJO как класс домена.

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

Прежде чем делать все возможное, попробуйте это с одним классом POJO. Опубликуйте его в своем локальном репозитории m2 и используйте в качестве зависимости в приложении Grails, проверьте его.

Надеюсь, это поможет

Автор: user2046589 Размещён: 13.06.2019 05:48
Вопросы из категории :
32x32