2015-11-19 41 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文件夾。這可能是由於連接器版本問題。