2016-10-18 2 views
0
  1. Ma version APIM est 1.10.0 et DAS est 3.0.1. Dans un premier temps, je ne déploie pas de clustering APIM + DAS avec mysql. les statistiques montrent bien.WSO2 DAS + Clustering APIM avec mysql

  2. Ensuite, je regroupement APIM dans l'éditeur, magasin, keymanager et gateway.Configured APIM et DAS commander this article, quand j'invoque un api, noeud passerelle affiche alors une erreur

[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. Ensuite, je change la configuration de DAS. À la suite this blog, je configuré tous les api-manager.xml, il n'y a pas d'erreur et aucun noeud magasin stats.And Afficher les infos:
[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 
  1. I google la raison, en wso2 jira, ils disent que ce n'est pas un bug.

Mais je ne peux pas attendre mes statistiques pendant des heures. Est-ce que j'ai configuré quelque chose de mal?

Reguards.

+1

pouvez-vous parcourir la table DAS en vous connectant à la console de gestion DAS. Vous pouvez parcourir la table org.wso2.apimgt.statistics.request dans le menu Explorateur de données. Assurez-vous également que vous avez déployé le Capp dans le /repository/deployment/server/carbonapps/dir – ruks

+0

il n'y a pas de données dans la table org.wso2.apimgt.statistics.request sous le menu Explorateur de données, à l'exception de la table ORG_WSO2_APIMGT_STATISTICS_WORKFLOW qui obtient quelques données Sous le numéro /repository/deployment/server/carbonapps/est API_Manager_Analytics_RDBMS.car. Pas distribué APIM, je peux obtenir des statistiques de l'éditeur et du magasin. lorsqu'il est distribué, il n'y a pas de statistiques –

Répondre

0

Semble dans le noeud de stockage, les données sont publiées sont activées et fonctionnent. Mais les données de noeud de passerelle ne sont pas publiées. Essayez de vérifier la configuration du noeud de passerelle. Vérifiez également que le noeud passerelle peut accéder au noeud DAS.

+0

Merci, ruches. La configuration sur api-manager.xml du noeud store et gateway est la même. Y at-il une autre configuration? Comment puis-je vérifier que le nœud passerelle peut accéder au nœud DAS? Dans mon étape 2, puis-je prouver que DAS est disponible? Ou le récepteur DAS n'a-t-il pas reçu de message? –

+0

Je n'utilise pas APIM distribué avec DAS, après invocation api, Il ya stats.Puis je change APIM en DISTRIBUTED, puis j'appelle une autre api, les statistiques montrent SubscriberCount mais pas Hits. –

+0

Mais console de gestion DAS dans le menu Explorateur de données, je ne peux pas trouver le nouvel appel api DATA. Est-ce que la passerelle ne peut pas envoyer ou DAS ne peut pas recevoir? Et comment slove? –