【问题标题】:WSO2 APIM GW error message for not able to publish throttle event无法发布节流事件的 WSO2 APIM GW 错误消息
【发布时间】:2017-03-17 22:41:26
【问题描述】:

将 WSO2 APIM v2.0 作为 2 个集群节点和一个 WSO2 DAS 作为单独节点运行。

每次在 WSO2 APIM 中发生限制时,我都会在网关错误日志中看到以下错误消息

2016-11-04 06:23:59,927 [-] [PassThroughMessageProcessor-27] ERROR APIMgtThrottleUsageHandler Cannot publish throttling event. null
java.lang.NullPointerException
        at org.wso2.carbon.utils.multitenancy.MultitenantUtils.getTenantDomain(MultitenantUtils.java:90)
        at org.wso2.carbon.apimgt.usage.publisher.APIMgtThrottleUsageHandler.mediate(APIMgtThrottleUsageHandler.java:71)
        at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:84)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:95)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:57)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
        at org.wso2.carbon.apimgt.gateway.handlers.throttling.ThrottleHandler.handleThrottleOut(ThrottleHandler.java:612)
        at org.wso2.carbon.apimgt.gateway.handlers.throttling.ThrottleHandler.doThrottle(ThrottleHandler.java:504)
        at org.wso2.carbon.apimgt.gateway.handlers.throttling.ThrottleHandler.handleRequest(ThrottleHandler.java:445)
        at org.apache.synapse.rest.API.process(API.java:325)
        at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:90)
        at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:300)
        at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
        at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:319)
        at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:152)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

我也看不到来自 WSO2 APIM 统计数据的 API Throttled Out Requests 报告。

请指教。

【问题讨论】:

  • 这个资源你有Authentication:None吗?
  • 是的,我没有使用身份验证。

标签: wso2 wso2-am wso2-das


【解决方案1】:

当您拥有Authentication:none 资源时,这是一个已知问题。已报告 here,并将在未来的版本中修复。

【讨论】:

  • 描述很技术性,我不太明白。只是为了确认一下,由于这个错误,我将无法查看API throttled Out Requests 报告?有什么解决方法吗?
  • 解决方法是为每个资源的Authentication Type 设置除none 之外的其他内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
  • 2020-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多