WSO2 API 经理声明缓存
WSO2 API manager claims cache
我目前已经从使用 WSO2 API 管理器版本 1.9 从 1.8 切换到 1.9,一切看起来都不错,除了我在尝试填充 JWT 令牌中的声明时出现异常。
java.lang.IllegalStateException: The cache status is not STARTED
at org.wso2.carbon.caching.impl.CacheImpl.checkStatusStarted(CacheImpl.java:287)
at org.wso2.carbon.caching.impl.CacheImpl.get(CacheImpl.java:171)
at org.wso2.carbon.apimgt.impl.token.DefaultClaimsRetriever.getClaims(DefaultClaimsRetriever.java:82)
at org.wso2.carbon.apimgt.impl.token.JWTGenerator.populateCustomClaims(JWTGenerator.java:92)
at org.wso2.carbon.apimgt.impl.token.AbstractJWTGenerator.buildBody(AbstractJWTGenerator.java:185)
at org.wso2.carbon.apimgt.impl.token.AbstractJWTGenerator.generateToken(AbstractJWTGenerator.java:141)
at org.wso2.carbon.apimgt.keymgt.handlers.AbstractKeyValidationHandler.generateConsumerToken(AbstractKeyValidationHandler.java:146)
at org.wso2.carbon.apimgt.keymgt.service.APIKeyValidationService.validateKey(APIKeyValidationService.java:169)
at org.wso2.carbon.apimgt.keymgt.service.thrift.APIKeyValidationServiceImpl.validateKey(APIKeyValidationServiceImpl.java:131)
at org.wso2.carbon.apimgt.impl.generated.thrift.APIKeyValidationService$Processor$validateKey.getResult(APIKeyValidationService.java:278)
at org.wso2.carbon.apimgt.impl.generated.thrift.APIKeyValidationService$Processor$validateKey.getResult(APIKeyValidationService.java:266)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
这个好像是APP管理器上的这个bughttps://wso2.org/jira/browse/APPM-958,好像没有移植到API管理器上
是否有任何解决方法或我可以配置的东西?
谢谢
编辑:API 管理器 1.5 上的这个错误看起来也很相似。 https://wso2.org/jira/browse/APIMANAGER-1504
这是 API Manager 1.9.0 中的错误 [1],已在下一版本中修复。如果您是 WSO2 的客户,您可以从他们那里获取针对此问题的补丁。
我目前已经从使用 WSO2 API 管理器版本 1.9 从 1.8 切换到 1.9,一切看起来都不错,除了我在尝试填充 JWT 令牌中的声明时出现异常。
java.lang.IllegalStateException: The cache status is not STARTED
at org.wso2.carbon.caching.impl.CacheImpl.checkStatusStarted(CacheImpl.java:287)
at org.wso2.carbon.caching.impl.CacheImpl.get(CacheImpl.java:171)
at org.wso2.carbon.apimgt.impl.token.DefaultClaimsRetriever.getClaims(DefaultClaimsRetriever.java:82)
at org.wso2.carbon.apimgt.impl.token.JWTGenerator.populateCustomClaims(JWTGenerator.java:92)
at org.wso2.carbon.apimgt.impl.token.AbstractJWTGenerator.buildBody(AbstractJWTGenerator.java:185)
at org.wso2.carbon.apimgt.impl.token.AbstractJWTGenerator.generateToken(AbstractJWTGenerator.java:141)
at org.wso2.carbon.apimgt.keymgt.handlers.AbstractKeyValidationHandler.generateConsumerToken(AbstractKeyValidationHandler.java:146)
at org.wso2.carbon.apimgt.keymgt.service.APIKeyValidationService.validateKey(APIKeyValidationService.java:169)
at org.wso2.carbon.apimgt.keymgt.service.thrift.APIKeyValidationServiceImpl.validateKey(APIKeyValidationServiceImpl.java:131)
at org.wso2.carbon.apimgt.impl.generated.thrift.APIKeyValidationService$Processor$validateKey.getResult(APIKeyValidationService.java:278)
at org.wso2.carbon.apimgt.impl.generated.thrift.APIKeyValidationService$Processor$validateKey.getResult(APIKeyValidationService.java:266)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:176)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
这个好像是APP管理器上的这个bughttps://wso2.org/jira/browse/APPM-958,好像没有移植到API管理器上
是否有任何解决方法或我可以配置的东西?
谢谢
编辑:API 管理器 1.5 上的这个错误看起来也很相似。 https://wso2.org/jira/browse/APIMANAGER-1504
这是 API Manager 1.9.0 中的错误 [1],已在下一版本中修复。如果您是 WSO2 的客户,您可以从他们那里获取针对此问题的补丁。