use std::sync::Arc; use jdbc::JvmBuilder; use jdbc::{Builder, Datasource}; use jni::JavaVM; #[allow(dead_code)] pub fn sqlite() -> Datasource { Builder::new() .vm(VM.clone()) .jdbc_url("jdbc:sqlite::memory:") .build() .expect("init datasource error.") } #[allow(dead_code)] pub fn vm() -> JavaVM { let libs = concat!(env!("OUT_DIR"), "/libs"); let vm = JvmBuilder::new() .classpath(libs) .vm_option("-Duser.timezone=UTC") .xmx_mb(16) .build() .expect("init jvm error."); vm } lazy_static! { static ref VM: Arc = Arc::new(vm()); }