2016-10-18 72 views
0
  1. 我的APIM版本是1.10.0,DAS是3.0.1。WSO2 DAS +使用mysql集群APIM

  2. 起初,我没有使用mysql部署集群APIM + DAS。统计数据显示良好。

  3. 然后,我聚类APIM到出版商,存储的KeyManager和gateway.Configured 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) 
  1. 然后我改变了DAS配置的方式。以下this blog,我配置的所有API-manager.xml,没有错误,并且没有stats.And存储节点节目信息:
[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,他们说这不是一个错误。
  • 但我不能等待我的统计数小时。我配置错了什么?

    调节器。

    +1

    您可以通过登录到DAS管理控制台来浏览DAS表。您可以浏览Data Explorer菜单中的org.wso2.apimgt.statistics.request表。还要确保你已经在/repository/deployment/server/carbonapps/dir – ruks

    +0

    上部署了Capp,在Data explorer菜单下的表org.wso2.apimgt.statistics.request中没有数据,ORG_WSO2_APIMGT_STATISTICS_WORKFLOW表获得一些数据。在/repository/deployment/server/carbonapps /下是API_Manager_Analytics_RDBMS.car。没有分布式APIM,我可以从发布商和商店获取统计信息。发布时,没有统计信息 –

    回答

    0

    似乎在商店节点,数据正在发布启用和工作。但是网关节点数据没有发布。请尝试验证网关节点配置。同时检查网关节点是否可以访问DAS节点。

    +0

    谢谢,垃圾。商店和网关节点的api-manager.xml配置是相同的。是否有其他配置?如何检查网关节点是否可以访问DAS节点?在步骤2中,我可以证明DAS可用吗?或者DAS接收器没有收到消息? –

    +0

    我使用没有分布式APIM与DAS,在调用api后,有统计信息。然后我将APIM更改为DISTRIBUTED,然后我调用另一个API,统计信息显示SubscriberCount但没有命中。 –

    +0

    但在数据浏览器菜单中的DAS管理控制台,我找不到新的调用API数据。网关无法发送或DAS无法接收?以及如何解决? –