Могут ли разные части приложения OFBiz подключаться к разным базам данных?

Могут ли разные части приложения OFBiz подключаться к разным базам данных? например: -Party Management => подключиться к базе данных 1 -Catalog Management => подключиться к базе данных 2 -Работа в том же экземпляре приложения Ofbiz. Мой план состоит в том, чтобы создать арендаторов в OFbiz и подключить различные части OFBiz к арендатору, в то время как другие подключаются к стандартной/исходной базе данных OFBiz.


person The Georgia    schedule 23.03.2013    source источник


Ответы (1)


Короче говоря, да, вы можете, а длинный ответ, вероятно, вы не хотите этого делать из-за существующих зависимостей между приложениями на уровне объекта.

Сначала вы должны понять, как все это сочетается друг с другом: Сущности Ofbiz обычно определяются в entitymodel.xml и упоминаются в ofbiz-component.xml. Большинство существующих компонентов имеют только этот уровень конфигурации. В такой конфигурации объекты принадлежат к группе по умолчанию с названием «org.ofbiz». Затем в entityengine.xml группа назначается источнику данных:

<group-map group-name="org.ofbiz" datasource-name="localpostgres"/>

Вот как таблица назначается группе, затем группа назначается базе данных.

Итак, чтобы назначить все объекты из компонента новой базе данных, вам нужно сделать:

  1. Создайте новое определение группы сущностей в каждом компоненте и назначьте сущности этой группе:<entity-group group="org.ofbiz.tenant" entity="Tenant"/>

  2. Ссылка на определение группы из ofbiz-component.xml <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>

  3. В entityengine.xml назначьте новую группу другому источнику данных: <group-map group-name="org.ofbiz.tenant" datasource-name="localpostgres"/>

В качестве примера взгляните на группы olap и tenant.

Вы можете выполнить описанные выше шаги и разместить свои объекты в отдельной базе данных, если вы создаете новый компонент или если вы хотите сделать это для компонентов в специальной папке. Если вы хотите сделать это с существующим компонентом из папки фреймворка или приложений (например, с упомянутым вами компонентом контента), вы заметите, что компоненты имеют зависимости (отношения сущностей), и перемещение некоторых сущностей в отдельную базу данных нарушит это.

person Bilgin Ibryam    schedule 24.03.2013
comment
Спасибо Билгин. Ваше понимание этого вопроса действительно помогло. Мы решили не следовать намеченному подходу, как советовали. - person The Georgia; 25.07.2014