我在使用WSO2 API Manager 2.0.0时遇到了另一个问题:我使用三个容器(一个用于APIM,一个用于Google Analytics,一个用于MySQL)在docker中安装它,我用自定义版本替换了一些配置文件(例如DB,服务器名称,网关设置......)。 APIM和Analytics都配置为在MySQL容器中保存数据,我能够看到数据库中的更改。
问题是,在重建容器之后,我无法在发布者和商店中找到我的API。数据库中的更改仍然存在,我可以看到所有API的统计信息,如果我尝试使用相同的名称或上下文创建新的API,则会收到错误,但是在新的构建之后商店总是空的。
我还尝试将/ repository / deployment / server / synapse-config / default和/ repository / tenants /放在两个卷中,我可以看到在/.../default/api/中为我创建的文件API,但我无法弄清楚这个问题。 我应该保留指南中未提及的其他目录吗?
如果可能的话,我不想把整个APIM和Analytics家园放在一起。
答案 0 :(得分:2)
首先,检查工件是否位于资源浏览器中。
如果您可以找到API相关文件,则问题与索引有关。 执行以下操作以重新索引注册表中的工件:
<lastAccessTimeLocation>
文件中的<APIM_2.0.0_HOME>/repository/conf/registry.xml
元素。如果使用群集/分布式API Manager设置,请更改API Publisher节点中的文件。例如,将/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime
注册表路径更改为/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime_1
。 <APIM_2.0.0_HOME>/solr
目录。答案 1 :(得分:1)
Api信息驻留在数据库和文件系统中。(/ repository / deployment / server / synapse-config / default / api)注册表工件可能未正确编入索引。你能试试吗?
还要确保正确配置了数据库。特别是注册表安装相关配置。