Grails: одна база данных и несколько приложений - PullRequest
3 голосов
/ 23 марта 2012

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

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

Ответы [ 2 ]

3 голосов
/ 24 марта 2012

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

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

0 голосов
/ 13 июня 2019

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

grails.gorm.annotation.Entity

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

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

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

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

...