2016-09-01 23 views
0

glassfishにデプロイされたSpring WebアプリケーションでSystem.loadLib()を使用してアプリケーションに.so(jni共有ライブラリ)をロードします。しかし、System.loadLibraryがサーバーログを例外なく突然停止すると、System.loadLibraryが実行されます。glassfish WebサーバーにデプロイされたSpring Webアプリケーションで共有ライブラリ(.so)を使用

何が問題ですか? 私のコード:

@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]] 

答えて

0

それはおそらく、ライブラリによって引き起こさセグメンテーションフォールトであり、それは全体のJVMをダウンさせますが。 bin/asadmin start-domain --verboseを使用してGlasssFishをコマンドラインから実行して、同じコンソールウィンドウで実行してください。この場合、コンソールにSEGMENTATION FAULTが表示される場合があります。

関連する問題