我正在配置WSO2 EI Analytics配置文件以使用PostgreSQL而不是H2数据库。
我更改了以下文件:
分析-datasources.xml,
主datasources.xml,
度量-datasources.xml
\ wso2 \ analytics \ conf \ datasources 中的。 我还执行了脚本以在 dbscripts 中创建数据库。 脚本仅生成指标和主数据库的表,但它们不会为分析创建表。
无论如何,当我运行分析服务器时,我有一些错误,如下所示:
Failed to perform Category Drilldown on table: org_wso2_esb_analytics_stream_MediatorStatPerMinute: Error while connecting to the remote service. Connection refused (Connection refused) {JAGGERY.controllers.apis.eianalytics:jag}
TID: [-1234] [] [2017-11-06 16:43:00,262] ERROR {org.wso2.carbon.databridge.core.internal.queue.QueueWorker} - Dropping wrongly formatted event sent for -1234 {org.wso2.carbon.databridge.core.internal.queue.QueueWorker}
org.wso2.carbon.databridge.core.exception.EventConversionException: Error when converting org.wso2.esb.analytics.stream.FlowEntry:1.0.0 of event bundle with events 1
at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:181)
at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java:90)
at org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.wso2.carbon.databridge.core.exception.EventConversionException: No StreamDefinition for streamId org.wso2.esb.analytics.stream.FlowEntry:1.0.0 present in cache
at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:166)
... 7 more
他们似乎缺少一些数据库表,但我不知道如何创建它们。
当我使用具有默认配置的H2数据库时,这些错误不存在。 有人可以帮帮我吗?
答案 0 :(得分:1)
我解决了这个问题。 这是一个JDBC驱动程序问题。
使用JDK 1.8,必须使用PostgreSQL JDBC 42.1.4。
我希望它对某人有用。