sim*_*mon 2 java dll tomcat memory-leaks
我们有一个项目,在Tomcat应用程序中通过JacoZoom访问第三方DLL .显然DLL泄漏内存(由供应商确认),但供应商无意修复此问题.内存泄漏迫使Tomcat定期重启,这对用户来说自然是一个很大的不便.
解决这个问题的最佳方法是什么?我们考虑的一个选项是拥有Tomcat服务器的两个实例并定期重新启动另一个实例,并将用户重定向到另一个实例.
编辑:通过创建另一个DLL来解决,该DLL在需要时杀死并重新创建供应商DLL.基本上这三个kernel32调用用于完成功能:
Private Declare Function GetModuleHandle Lib "kernel32.dll" Alias "GetModuleHandleW" (ByVal DllName As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
幸运的是,JacoZoom JAR文件似乎并不介意DLL被杀死并重新创建.
我假设表中没有"不使用该DLL"等明显的东西.
你可以围绕可以独立管理和重新启动的糟糕DLL创建一个包装器,服务或层,并让Tomcat/Jacozoom /任何调用该服务吗?从某种意义上说,将内存泄漏移动到容器外的其他应用程序?
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |