2015-11-19 15 views
1

我已经安装WSO2 API管理器(版本1.9.1),并与BAM(版本2.5.0)以下这里提供给信中的说明进行配置的: https://docs.wso2.com/display/AM191/Publishing+API+Runtime+StatisticsWSO2 - 错误而调用APIUsageStatisticsClient为ProviderAPIUsage

我正在使用MySQL服务器,可以看到创建的api_ *表,并在我进行API调用时得到更新。但是,当我查看统计信息时,在控制台上看到一个异常,而UI告诉我需要配置BAM才能看到仪表板。

这里是wso2carbon.log看到的错误

TID: [0] [AM] [2015-11-19 11:27:39,110] ERROR {org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject} - Error while invoking APIUsageStatisticsClient for ProviderAPIUsage {org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject} 
org.wso2.carbon.apimgt.usage.client.exception.APIMgtUsageQueryServiceClientException: Error occurred while querying from JDBC databasecom.mysql.jdbc.driver 
    at org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient.queryFirstAccess(APIUsageStatisticsClient.java:2762) 
    at org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient.getFirstAccessTime(APIUsageStatisticsClient.java:2706) 
    ... 65 more 
Caused by: java.sql.SQLException: com.mysql.jdbc.driver 
    at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254) 
    at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182) 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701) 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635) 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:188) 
    at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:128) 
    at org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient.queryFirstAccess(APIUsageStatisticsClient.java:2730) 
    ... 65 more 
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.driver 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:475) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:274) 
    at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:246) 
    ... 71 more 
TID: [0] [AM] [2015-11-19 11:27:39,138] ERROR {JAGGERY.modules.statistics.usage:jag} - java.lang.NullPointerException: null {JAGGERY.modules.statistics.usage:jag} 

我已经看过其他类似的职位,但似乎没有什么是完全相关的一个片段。最近的类似帖子有一个SQL Server特定的问题,但我使用的是MySQL。

附加信息:我在同一台机器上运行BAM和API管理器。按照指南中的建议,我已将BAM设置为3。

回答

0

显然,您还没有将SQL连接器添加到/ repository/components/lib和/ repository/components/lib文件夹。这在https://docs.wso2.com/display/AM191/Publishing+API+Runtime+Statistics的第5步中提到。

确保SQL连接器正确地放置在这些位置

+0

mysql-connector-java-5.1.35-bin.jar存在于两个文件夹中。 –

+0

我是否需要将其明确添加到类路径中? –

+0

指定的URL内容不再存在,请更新! –

0

如果你想上面的场景在Windows环境中,请使用“使用mysql-connector-java的5.1.30”连接器,并将其放置在/ repository/components/lib和/ repository/components/lib文件夹。这可能是由于连接器版本问题。