【发布时间】:2017-02-04 00:05:19
【问题描述】:
我的 APIM 版本是 1.10.0,DAS 是 3.0.1。
起初,我没有使用 mysql 部署 Clustering APIM + DAS。统计数据显示良好。
然后,我将APIM集群成发布者、存储、密钥管理器和网关。配置APIM和DAS命令this article,当我调用一个api时,网关节点显示错误
[2016-10-13 11:13:54,775] ERROR - APIMgtUsageHandler Cannot publish event. null java.lang.NullPointerException at org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher.publishEvent(APIMgtUsageDataBridgeDataPublisher.java:124) at org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler.handleRequest(APIMgtUsageHandler.java:169) at org.apache.synapse.rest.API.process(API.java:322) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:86) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:65) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:295) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:317) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:149) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 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) [2016-10-13 11:13:54,807] ERROR - APIMgtResponseHandler Cannot publish response event. null java.lang.NullPointerException at org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher.publishEvent(APIMgtUsageDataBridgeDataPublisher.java:140) at org.wso2.carbon.apimgt.usage.publisher.APIMgtResponseHandler.mediate(APIMgtResponseHandler.java:211) at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:84) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155) at org.apache.synapse.rest.Resource.process(Resource.java:297) at org.apache.synapse.rest.API.process(API.java:335) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:86) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:52) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:295) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:529) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 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)
- 然后我改变了DAS配置的方式。在this blog之后,我配置了所有的api-manager.xml,没有错误也没有stats。并存储节点显示信息:
[2016-10-18 11:31:39,131] INFO - ReceiverGroup Resending the failed published data... [2016-10-18 11:31:44,134] WARN - AccessConfiguration Error loading properties from file: access-log.properties [2016-10-18 11:31:44,207] INFO - TimeoutHandler This engine will expire all callbacks after : 120 seconds, irrespective of the timeout
- 我用谷歌搜索原因,在wso2 jira,他们说这不是错误。
但我无法等待数小时的统计数据。我是否配置有问题?
警戒。
【问题讨论】:
-
您可以通过登录DAS管理控制台浏览DAS表吗?您可以在数据浏览器菜单中浏览表 org.wso2.apimgt.statistics.request。还要确保您已在
/repository/deployment/server/carbonapps/dir 中部署 Capp -
数据资源管理器菜单下的org.wso2.apimgt.statistics.request表中没有数据,除了ORG_WSO2_APIMGT_STATISTICS_WORKFLOW表有一些数据。在
/repository/deployment/server/carbonapps/是 API_Manager_Analytics_RDBMS.car。没有分布式 APIM,我可以从发布者和商店获取统计信息。分发时,没有统计信息