页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
linenumberstrue
collapsetrue
Cannot get a connection, pool exhausted
	at smartbi.freequery.basicdata.MetaDataServiceImpl.testConnection(MetaDataServiceImpl.java:401)
	at ...(...)
	at smartbi.connectionpool.ConnectionPool.driverConnect(ConnectionPool.java:282)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted
	at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:183)
	at smartbi.connectionpool.ConnectionPool.driverConnect(ConnectionPool.java:282)
	at smartbi.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:456)
	at smartbi.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:418)
	at smartbi.freequery.basicdata.MetaDataServiceImpl.testConnection(MetaDataServiceImpl.java:380)
	at smartbi.freequery.client.datasource.DataSourceService.testConnection(DataSourceService.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at smartbi.framework.rmi.ClientService.execute(Smartbi:118)
	at smartbi.framework.rmi.RMIServlet.processExecute(RMIServlet.java:218)
	at smartbi.framework.rmi.RMIServlet.doPost(RMIServlet.java:156)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at smartbi.extension.ExtensionFilter$2.doFilter(ExtensionFilter.java:156)
	at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:145)
	at smartbi.extension.ExtensionFilter.doFilterInternal(ExtensionFilter.java:168)
	at smartbi.extension.ExtensionFilter.doFilter(ExtensionFilter.java:55)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at smartbi.framework.rmi.TransactionFilter.doFilter(Smartbi:93)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at smartbi.freequery.filter.GZIPFilter.doFilter(GZIPFilter.java:169)
	at smartbi.freequery.filter.Filter.doFilter(Filter.java:36)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at smartbi.freequery.filter.CheckIsLoggedFilter.doFilter(CheckIsLoggedFilter.java:138)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at smartbi.freequery.filter.TraceFilter.doFilter(TraceFilter.java:59)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed
	at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:871)
	at smartbi.connectionpool.ConnectionPool$5.borrowObject(ConnectionPool.java:622)
	at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:175)
	... 55 more


          此问题是因为在第4步骤中找到的mongo客户端程序和smartbi所在机器的操作系统不匹配导致的,请重新确认smartbi所在机器的操作系统,然后在mongoDB数据库官网重新下载对应的文件。 此问题是因为在第4步骤中找到的mongo客户端程序和smartbi所在机器的操作系统不匹配导致的,请重新确认smartbi所在机器的操作系统,然后在mongoDB数据库官网重新下载对应的文件。

          

         6、需要注意数据源的连接字符串写的正确,千万不要改成 jdbc://IP:端口号/database 的字符串方式,这种方式是无法连接成功的

   

          7、若测试连接时依然报第5点的错误,即【Canot get a connection,pool exhausted......Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed】,并且确定下载的mongo客户端程序文件和smartbi所在机器的操作系统相匹配。此时则需要查看mongo的部署方式,如果mongo的部署方式为副本集模式(由一个主节点和多个副本节点组成)。那么由于我们的smartbi目前只支持连接主节点,不支持连接从节点,所以如果连接的是从节点便会报该错。而smartbi不支持连接从节点是因为smartbi是通过调用MongoDatabase的runCommand接口实现查询的,而runCommand只能在主节点上运行,在从节点运行会报错。

Viewtracker