"[图片] 单独执行这段代码能正常获取 connection,放到 springboot 程序中获取 connection 就会超时,有遇到过这种情况吗"
单独执行这段代码能正常获取 connection,放到 springboot 程序中获取 connection 就会超时,有遇到过这种情况吗
用 jps 找到 jvm 进程的 pid,然后 jstack [pid] 看看各线程堆栈,看看停在哪一步上
应该是卡在这里了
从截图的堆栈来看,是 raqsoftConfig.xml 中配置的数据源进行自动连接时失败了。如果不需要自动连接,可以把 autoConnect 改为 false。如果需要自动连接,检查下那个数据源配置、驱动等是否正确。
我没有使用配置文件,我是使用 =connect(“com.mysql.jdbc.Driver”,“jdbc:mysql://127.0.0.1:3306/mysqlwp?user=root&password=root”) 这种方式获取的数据库连接,并且同样的一段代码,我单独执行 java 文件的时候可以正确的获取到连接,当我使用 springboot 方式部署时调用次方法获取数据库连接就会超时
DriverManager.getConnection("jdbc:esproc:local://");
截图中用上面代码调用集算器 JDBC 时,会在类路径下搜索 raqsoftConfig.xml 配置文件,来加载集算器的运行环境。如果对这部分不熟悉可以参考下:http://d.raqsoft.com.cn:6999/esproc/tutorial/jdbcjbsy.html
通过这个堆栈能看出来,出错的是 JDBC 初始化时,不是脚本计算中的 =connect(…) 报错的。可以在服务器的类路径下搜索 raqsoftConfig.xml或者在输出日志里找一下类似的信息,看看从哪里加载的 raqsoftConfig.xml 文件:
INFO: jdbc config from : file:/D:/work/test/classes/raqsoftConfig.xml
多谢多谢,确实是这个问题,已经解决了
用 jps 找到 jvm 进程的 pid,然后 jstack [pid] 看看各线程堆栈,看看停在哪一步上
应该是卡在这里了
从截图的堆栈来看,是 raqsoftConfig.xml 中配置的数据源进行自动连接时失败了。
如果不需要自动连接,可以把 autoConnect 改为 false。
如果需要自动连接,检查下那个数据源配置、驱动等是否正确。
我没有使用配置文件,我是使用 =connect(“com.mysql.jdbc.Driver”,“jdbc:mysql://127.0.0.1:3306/mysqlwp?user=root&password=root”) 这种方式获取的数据库连接,并且同样的一段代码,我单独执行 java 文件的时候可以正确的获取到连接,当我使用 springboot 方式部署时调用次方法获取数据库连接就会超时
截图中用上面代码调用集算器 JDBC 时,会在类路径下搜索 raqsoftConfig.xml 配置文件,来加载集算器的运行环境。
如果对这部分不熟悉可以参考下:
http://d.raqsoft.com.cn:6999/esproc/tutorial/jdbcjbsy.html
通过这个堆栈能看出来,出错的是 JDBC 初始化时,不是脚本计算中的 =connect(…) 报错的。
可以在服务器的类路径下搜索 raqsoftConfig.xml
或者在输出日志里找一下类似的信息,看看从哪里加载的 raqsoftConfig.xml 文件:
多谢多谢,确实是这个问题,已经解决了