3

我在使用 WSO2 API Manager 2.0.0 时遇到了另一个问题:我已经使用三个容器(一个用于 APIM,一个用于 Analytics,一个用于 MySQL)将它安装在 docker 中,并且我用我的自定义版本替换了一些配置文件(例如 DB,服务器名称,网关设置...)。APIM 和 Analytics 都配置为将数据保存在 MySQL 容器中,我能够看到数据库中的更改。

问题是重建容器后,我在发布者和商店中都找不到我的 API。数据库中的更改仍然存在,我可以看到我所有 API 的统计信息,如果我尝试使用相同的名称或上下文创建新的 API,我会收到错误消息,但在新构建后存储始终为空。

我还尝试将两者都/repository/deployment/server/synapse-config/default放在/repository/tenants/两个卷中,我可以看到/.../default/api/为我的 API 创建的文件,但我无法找出问题所在。我应该保留一些指南中未提及的附加目录吗?

如果可能的话,我不想将整个 APIM 和 Analytics 主页放在一起。

4

2 回答 2

2

首先,检查是否可以在Resources Browser中找到工件。

资源浏览器

如果您可以找到 API 相关文件,则问题与索引有关。 执行以下操作以重新索引注册表中的工件:

  1. 重命名文件<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.
  2. 关闭 API Manager,备份并删除<APIM_2.0.0_HOME>/solr目录。
  3. 最后启动 API 管理器。
于 2016-09-08T07:07:05.343 回答
1

Api 信息驻留在数据库和文件系统中。(/repository/deployment/server/synapse-config/default/api) 注册表工件可能没有正确索引。你可以试试跟随吗?

  1. 删除太阳能目录。
  2. 打开 registry.xml 并更改以下行,如下所示。<lastAccessTimeLocation>/_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime-1
  3. 现在重新启动服务器。服务器将再次重新索引所有文件。

还要确保正确配置数据库。特别是注册表挂载相关配置。

于 2016-09-08T01:56:59.397 回答