参考文章:https://www.jianshu.com/p/4bffe29e3a02
问题描述:通过调用GDAL写的SpringBoot接口,第一次访问成功,第二次报错,显示报错的位置为gdal库。
尝试了很多方法https://www.cnblogs.com/jokingremarks/p/15132599.html#!comments仍然不成功,感觉应该是第二次运行接口时,进行垃圾回收导致GDAL出现问题。
参考https://blog.csdn.net/beibei3321/article/details/124998062,该问题是调用编写Java程序,通过JNA调用C语言开发的DLL出现的,作者并进行了原因分析并提供了解决方案,具体如下:
Java手动释放指针对象的代码如下所示https://www.jianshu.com/p/4bffe29e3a02
原本代码通过调用DataSource对象的delete()函数,改成如上图所示的操作,问题得以解决。
原本:dataSource.delete();
现在:调用函数释放资源
deleteDataSource(dataSource);
- 指针 Environment DataSource 手动 detected指针environment datasource手动 datasource dynamic-datasource datasource properties primary failed dynamic-datasource-spring-boot-st ds1-sentinel-nacos-datasource sfplmdb-vip teamcenter datasource机器 datasource configured attribute failed description springboot datasource dynamic-datasource runtimeexception datasource