这是我在ESB 4.9.0上的注册表,指向我的GREG 5.2.0实例
<dbConfig name="remote_registry">
<dataSource>jdbc/WSO2CarbonDB_GREG</dataSource>
</dbConfig>
<remoteInstance url="https://y.y.y.46:9445/registry">
<id>gregid</id>
<dbConfig>remote_registry</dbConfig>
<cacheId>regadmin@jdbc:mysql://x.x.x.45:3306/governancedb</cacheId>
<readOnly>true</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governace" overwrite="true">
<instanceId>gregid</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
没有错误,但很容易被忽略,注册表是本地的 如果我像那样更改挂载点
<mount path="/_system/gov_reg" overwrite="true">
<instanceId>gregid</instanceId>
<targetPath>/_system/governance</targetPath> </mount>
一切都按预期工作。 这是一种预期的行为,我在这里遗漏了什么?
TIA
答案 0 :(得分:1)
您的配置看起来很好。
因为我们已经从config安装了所有治理注册表。
<mount path="/_system/governance" overwrite="true">
<instanceId>gregid</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
再次在治理注册表中配置子集合是没有意义的。根据我的理解,但是我没有看到在ESB节点中挂载/_system/governace
治理注册表的真实用例。我们可以为每个ESB节点(prod,dev,test)设置特定的gov路径为
<mount path="/_system/governance/env1" overwrite="true">
<instanceId>gregid</instanceId>
<targetPath>/_system/governance/prod</targetPath>
</mount>
有关更多验证,请参阅以下帖子,
补充阅读
答案 1 :(得分:0)
请确保您的registry.xml中的/ _system / governance没有重复的mount配置部分。
答案 2 :(得分:0)
[解决]
我确实忽略了原因,但我已经取消了系统/本地注册
/_system/local/repository/components/org.wso2.carbon.registry/mount/-_system-governance
并注意到在Properties中,target指向旧值'instanceid'
手动更正,现在一切正常
在我的ansible模板中的相应位下面
<remoteInstance url="https://{{ greg_ip }}:{{ greg_carbon_port }}/registry">
<id>gregid</id>
<dbConfig>remote_registry</dbConfig>
<cacheId>regadmin@jdbc:mysql://{{ mysql_db }}:3306/governancedb</cacheId>
{% if 'WKR' in group_names %}
<readOnly>true</readOnly>
{% else %}
<readOnly>false</readOnly>
{% endif %}
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
</remoteInstance>
<mount path="/_system/governance" overwrite="true">
<instanceId>gregid</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>