我在部署在glassfish上的spring web应用程序中使用System.loadLib()来加载application...But中的.so (jni共享库),当System.loadLibrary执行时,服务器突然停止,服务器日志中没有任何异常!
问题出在哪里?我的代码:
@Controller
@RequestMapping(value = "/getdata", method = RequestMethod.POST)
public class temperatureController {
@RequestMapping(value = "/temp" , method = RequestMethod.GET)
public @ResponseBody
float getTemperature(){
System.err.print("beforeeeeeeeeeeeN");
NativeClass n = new NativeClass();
System.err.print("beforeeeeeeeeeeeLoadLib");
try {
System.loadLibrary("NativeClass");
System.err.print("LoadedintempClass");
}
catch (Throwable e){
System.err.print("not loaded in temp class");
e.printStackTrace();
}
System.err.print("afteeeeeeeerLoadLib");
float temp = n.getTemperature(); // invoke the native method
System.err.print("tttttttttt");
System.err.print(temp);
return temp ;
}服务器日志:
[2016-05-30T19:40:36.364+0000] [glassfish 4.1] [SEVERE] [] [] [tid: _ThreadID=27 _ThreadName=Thread-9] [timeMillis: 1464637236364] [levelValue: 1000] [[
beforeeeeeeeeeeeN]]
[2016-05-30T19:40:36.391+0000] [glassfish 4.1] [SEVERE] [] [] [tid: _ThreadID=27 _ThreadName=Thread-9] [timeMillis: 1464637236391] [levelValue: 1000] [[
beforeeeeeeeeeeeLoadLib]]发布于 2016-09-07 16:22:25
这很可能是由库引起的分段错误,它会导致整个JVM崩溃。尝试使用bin/asadmin start-domain --verbose从命令行运行GlasssFish,以保持在同一控制台窗口中运行。如果是这种情况,您可能会在控制台中看到SEGMENTATION FAULT。
https://stackoverflow.com/questions/39264447
复制相似问题