WSO2 APIM GW сообщение об ошибке для не в состоянии опубликовать событие дроссельной заслонки

Запуск 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

Running WSO2 APIM v2.0 as 2 nodes clustered and a WSO2 DAS as separate node.

Every time throttling happens in WSO2 APIM, I am seeing following error message in Gateway error log

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)

I also not able to see API Throttled Out Requests report from WSO2 APIM statistics.

Please advice.

.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)

I also not able to see API Throttled Out Requestsreport from WSO2 APIM statistics.

Пожалуйста совет.

1 ответ

  1. Это известная проблема, когда у вас есть Authentication:noneдля ресурсов. Об этом сообщается здесь и будет исправлено в будущем выпуске.