9.27三维发布失败原因分析
起点:CommandExecutorWrapperThtead的71行,这时候处于”未发布“状态
1. 发布服务是另起一个线程去执行发布,execute()
2. execute():
1.new一个结果类,
2.执行*,
3.if成功,结果类一字段为true
4.if成功,监听接口执行成功的,listenner.onComplete(result)
5.if失败,结果类一字段为false
6.if失败,监听接口执行失败,listenner.onFailed(result)
3. CommandExecuTor执行器执行2.2:
1.new一个进度对象
2.new LinkedList<Command>();Command命令对象:2个方法:执行excute,回滚undo
3.遍历已有的List<Command> size = 15,(谁给它赋的值)
4.包装输入
5.旧的添加到新的
6.命令类执行*
7.包装输出
4. FindDynamicDataStoreIdCommand执行:
1.发布数据类:storageId=随机iduuid
fileName:1.zip(我取得名字)
filePath= null
isOccupied= false
dataType="WORKSPACE"(我选的)
dataId=1055149035
...
2.通过发布数据类的dataId和dataType和180(超时时间int 180)从数据库查出返回 Map<DynamicDataStoreType,String> (RALATIONSHIP_STOTR,relationshipId)
DynamicDataStoreType枚 举类的RALATIONSHIP_STOTR 关系型存储(是对的)
1.DefaultDataCatalogStore查询数据库
1.匹配"WORKSPACE"
2.缓存里不包含dataId,递归重试
3.把从数据库查出的赋值给了发布数据类
5. 遍历到Command中的VerifyServiceStatusCommand时出错
service.serviceCheckInfo = Cannot find local variable 'service'原因:
需要遍历execute 15个command下的子类,每个都必须成功
遍历到第15个VerifyServiceStatusCommand时出错
if(!service.published || isCheckStatusFailed(serviceCheckInfo)){
抛异常
}
·!service.published = false
isCheckStatusFailed(serviceCheckInfo) = true 有问题
—— ——DataItemServiceCheckInfo serviceCheckInfo里面
—— —— —— ——DataCheckStatus checkStatus = “FAILED”
—— —— —— ——String checkMsg = "SERVUCE_CHECK_FAILED_WITH_PUBLISH_FAILED"
1.一个dataCheckStatus “success”
2.一个serviceCheckStatus "failed" 有一次突然"success" ☆☆☆☆☆☆☆
第6,7个的 publishFilePath = “no_use_path”发布三维服务成功一次,当时是在慢慢调试,可能是时间问题