2014-12-10 20 views
6

So da altri post che Cassandra scrive alcuni avvisi nei file di registro se JNA non è configurato correttamente. I miei file di registro (cassandra.log e system.log) non contengono la parola "jna" (tutti i casi controllati). Posso supporre che JNA sia configurato correttamente per la mia istanza di Cassandra?Verificare se JNA è abilitato in Cassandra

C'è un modo per verificare se la configurazione JNA è corretta?

risposta

4

Se JNA è configurato correttamente, si dovrebbe vedere un messaggio nel registro come questo:

INFO [main] 2014-06-06 15:55:11,664 CLibrary.java (line 121) JNA mlockall successful 

Anche nel registro, la biblioteca JNA dovrebbe apparire nella vostra uscita classpath:

INFO [main] 2014-06-06 16:47:13,318 CassandraDaemon.java (line 191) Classpath:... 
....:/usr/share/java/jna.jar: 
3

Di seguito è riportato il codice che verrà visualizzato l'errore se JNA si missiing:

try 
    { 
     Native.register("c"); 
    } 
    catch (NoClassDefFoundError e) 
    { 
     logger.warn("JNA not found. Native methods will be disabled."); 
     jnaAvailable = false; 
    } 
    catch (UnsatisfiedLinkError e) 
    { 
     logger.warn("JNA link failure, one or more native method will be unavailable."); 
     logger.debug("JNA link failure details: {}", e.getMessage()); 
    } 
    catch (NoSuchMethodError e) 
    { 
     logger.warn("Obsolete version of JNA present; unable to register C library. Upgrade to JNA 3.2.7 or later"); 
     jnaAvailable = false; 
    } 

Quindi, solo grep tua registra per uno dei precedenti.

+0

Controlli per diverse eccezioni ... ben fatto! – Aaron

Problemi correlati