API 管理器从 1.8.0 迁移到 2.1.0 的问题:IS 迁移客户端 5.1.0 不执行任何操作

Issue with API Manager migration from 1.8.0 to 2.1.0: IS migration client 5.1.0 does nothing

我正在执行从 APIM 1.8.0 到 APIM 2.1.0 的迁移,并且遇到了一个迁移工具的问题。 当然,我正在按照迁移指南中描述的步骤进行操作:https://docs.wso2.com/display/AM210/Upgrading+from+the+Previous+Release

我的 OS 是 Windows 7 Enterprise x64,Java - Oracle JDK 7u67,数据库 - MySQL 5.7,用户存储 - LDAP。

我从 docs.wso2.com/download/attachments/50518205/org.wso2.carbon.is.migrate.client-5.1.0-migration.zip?version=2&modificationDate=1470811755000&api=v2 下载了 WSO2 身份服务器 5.1.0 迁移客户端(org.wso2.carbon.is.migrate.client-5.1.0-migration.zip SHA1:ece8ff9a33167751268d205293cc1404fbe4c567),如上述指南(第 7 步)所述。

然后我将其解压缩并将必要的数据库脚本放入目录 APIM_2.1.0_HOME/dbscripts/(步骤 7-a、7-b)并将 JAR 文件放入目录 APIM_2.1.0_HOME/repository/components/dropins/(步骤 7-c)。

之后,当我尝试使用 IS 迁移客户端通过命令启动 APIM 实例来迁移身份和用户存储数据库(第 9 步)时

wso2server.bat -Dmigrate -DmigrateIdentityDB -Dcomponent=identity

看起来什么都没发生。

我什至在 APIM_2.1.0_HOME/repository/conf/log4j.properties 中为这个客户端配置了一个记录器

log4j.logger.org.wso2.carbon.is.migration=DEBUG

但日志中只出现两个 DEBUG 行,告诉我迁移组件已成功激活:

INFO {org.wso2.carbon.databridge.core.internal.DataBridgeDS} -  Successfully deployed Agent Server  {org.wso2.carbon.databridge.core.internal.DataBridgeDS}
DEBUG {org.wso2.carbon.is.migration.client.internal.ISMigrationServiceComponent} -  Setting RealmService to WSO2 IS Migration component {org.wso2.carbon.is.migration.client.internal.ISMigrationServiceComponent}
DEBUG {org.wso2.carbon.is.migration.client.internal.ISMigrationServiceComponent} -  WSO2 IS migration bundle is activated {org.wso2.carbon.is.migration.client.internal.ISMigrationServiceComponent}
INFO {org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService} -  Configured Registry in 63ms {org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService}

此外,我在github.com/wso2/product-is/tree/v5.1.0/modules/migration/migration-5.0.0_to_5.1.0/wso2-is-migration-client查看了客户端的源代码,特别是在classorg.wso2.carbon.is.migration.client.internal.ISMigrationServiceComponent及其方法activate(ComponentContext context),实际上什么也没做对比来自另一个迁移客户端的类似 class github.com/wso2/product-apim/blob/v2.1.0/modules/distribution/resources/migration/wso2-api-migration-client/src/main/java/org/wso2/carbon/apimgt/migration/client/internal/APIMMigrationServiceComponent.java,也在上述迁移指南(步骤 4)中提供。

最后,我注意到在其中一个提交中删除了相关代码:“从包中删除迁移并添加脚本更改https://github.com/wso2/product-is/pull/362/files#diff-789b1c66c0ca3e073080a2b8e6c27834L49

所以,我的问题是:

  1. 为什么要删除这些代码行?
  2. 主要问题是如何正确触发迁移客户端?我做错了什么?

如有任何帮助,我将不胜感激。

这是迁移文档的问题。文档现已更改。您必须先从 1.8.0 迁移到 2.0.0,然后迁移到 2.1.0。

https://docs.wso2.com/display/AM210/Upgrading+from+the+Previous+Release#8910