簡體   English   中英

WSO2 API Manager升級后錯誤

[英]WSO2 API Manager Post Upgrade Error

我們最近將單實例API管理器從1.90升級到1.10。 升級似乎大部分都是成功的,但是當我嘗試加載發布者中的一個服務時,它會凍結並且日志報告:

    Error while retrieving the lifecycle actions for lifecycle: APILifeCycle in lifecycle state: null
    at org.wso2.carbon.governance.api.common.dataobjects.GovernanceArtifactImpl.getAllLifecycleActions(GovernanceArtifactImpl.java:783)
    at org.wso2.carbon.apimgt.impl.APIProviderImpl.getAPILifeCycleData(APIProviderImpl.java:3306)
    ... 101 more
Caused by: org.wso2.carbon.registry.core.exceptions.RegistryException: Resource at '/_system/governance/apimgt/applicationdata/provider/<User>/<API>/v1/api' not associated with aspect 'APILifeCycle'
    at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.getResourceAspect(EmbeddedRegistry.java:2592)
    at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.getAspectActions(EmbeddedRegistry.java:2627)
    at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.getAspectActions(CacheBackedRegistry.java:474)
    at org.wso2.carbon.registry.core.session.UserRegistry.getAspectActionsInternal

而且(我用<>替換了敏感信息):

    org.wso2.carbon.registry.core.exceptions.RegistryException: Resource at '/_system/governance/apimgt/applicationdata/provider/<USER>/<SERVICE>/v1/api' not associated with aspect 'APILifeCycle'
    at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.getResourceAspect(EmbeddedRegistry.java:2592)
    at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.getAspectActions(EmbeddedRegistry.java:2627)
    at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.getAspectActions(CacheBackedRegistry.java:474)

我花了很多時間試圖找到這個錯誤發生的代碼而沒有運氣(我不是一個java開發人員)。 你們對導致這個錯誤的原因有什么看法嗎? 所有注冊的服務都是在升級前注冊的。

更新:如下所示,這是因為遷移失敗。 我深入挖掘並發現由於錯誤的SQL導致遷移失敗。 在遷移客戶端中,特別是文件MigrateFrom19To110.java,在第189行,它正在執行Ad Hoc SQL語句:

"UPDATE IDN_OAUTH2_ACCESS_TOKEN SET AUTHZ_USER = ? WHERE AUTHZ_USER = ?"

這會引發此錯誤:

Must declare the scalar variable "@P0WHERE"

似乎構建此語句的代碼有問題,因為@POWHERE似乎來自jdbc驅動程序代碼。 任何人都可以對此有所了解嗎?

您是否在升級期間運行遷移客戶端? 似乎遷移沒有正確進行。 步驟在https://docs.wso2.com/display/AM1100/Upgrading+from+the+Previous+Release中給出

我說這是因為作為遷移的一部分,我們將'APILifeCycle'生命周期附加到現有的apis。 由於錯誤說api與生命周期無關,我可以猜測問題在於遷移

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM