Skip to content

File pl_sr_jvm.cpp

FileList > cubrid > src > sp > pl_sr_jvm.cpp

Go to the source code of this file

  • #include "config.h"
  • #include <dlfcn.h>
  • #include <jni.h>
  • #include <locale.h>
  • #include <assert.h>
  • #include <vector>
  • #include <string>
  • #include <sstream>
  • #include <iterator>
  • #include "pl_file.h"
  • #include "pl_comm.h"
  • #include "environment_variable.h"
  • #include "system_parameter.h"
  • #include "release_string.h"
  • #include "memory_alloc.h"
  • #include "error_manager.h"

Public Types

Type Name
typedef jint(* CREATE_VM_FUNC

Public Static Attributes

Type Name
std::string err_msgs
JavaVM * jvm = [**NULL**](freelistheap_8h.md#define-null)
jint sp_port = -2

Public Functions

Type Name
int pl_server_port (void)
int pl_start_jvm_server (const char * db_name, const char * path, int port)

Public Static Functions

Type Name
int pl_create_java_vm (JNIEnv ** env_p, JavaVMInitArgs * vm_arguments)
void * pl_get_create_java_vm_function_ptr (void)
std::vector< std::string > pl_jvm_options ()
std::vector< std::string > pl_tokenize_jvm_options (char * opt_str)

Macros

Type Name
define BUF_SIZE 2048
define JVM_AttachCurrentThread (JVM, ENV, ARGS) ([**JVM**](broker__monitor_8c.md#function-timeout))-&gt;[**AttachCurrentThread**](broker__monitor_8c.md#function-timeout)([**ENV**](broker__monitor_8c.md#function-timeout), [**ARGS**](broker__monitor_8c.md#function-timeout))
define JVM_CallStaticIntMethod (ENV, CLAZZ, METHODID, ARGS) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**CallStaticIntMethod**](broker__monitor_8c.md#function-timeout)([**CLAZZ**](broker__monitor_8c.md#function-timeout), [**METHODID**](broker__monitor_8c.md#function-timeout), [**ARGS**](broker__monitor_8c.md#function-timeout))
define JVM_CallStaticObjectMethod (ENV, CLAZZ, METHODID, ARGS) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**CallStaticObjectMethod**](broker__monitor_8c.md#function-timeout)([**CLAZZ**](broker__monitor_8c.md#function-timeout), [**METHODID**](broker__monitor_8c.md#function-timeout), [**ARGS**](broker__monitor_8c.md#function-timeout))
define JVM_CallStaticVoidMethod (ENV, CLAZZ, METHODID, ARGS) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**CallStaticVoidMethod**](broker__monitor_8c.md#function-timeout)([**CLAZZ**](broker__monitor_8c.md#function-timeout), [**METHODID**](broker__monitor_8c.md#function-timeout), [**ARGS**](broker__monitor_8c.md#function-timeout))
define JVM_DetachCurrentThread (JVM) ([**JVM**](broker__monitor_8c.md#function-timeout))-&gt;[**DetachCurrentThread**](broker__monitor_8c.md#function-timeout)()
define JVM_ExceptionOccurred (ENV) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**ExceptionOccurred**](broker__monitor_8c.md#function-timeout)()
define JVM_FindClass (ENV, NAME) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**FindClass**](broker__monitor_8c.md#function-timeout)([**NAME**](broker__monitor_8c.md#function-timeout))
define JVM_GetEnv (JVM, ENV, VER) ([**JVM**](broker__monitor_8c.md#function-timeout))-&gt;[**GetEnv**](broker__monitor_8c.md#function-timeout)([**ENV**](broker__monitor_8c.md#function-timeout), [**VER**](broker__monitor_8c.md#function-timeout))
define JVM_GetStaticMethodID (ENV, CLAZZ, NAME, SIG) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**GetStaticMethodID**](broker__monitor_8c.md#function-timeout)([**CLAZZ**](broker__monitor_8c.md#function-timeout), [**NAME**](broker__monitor_8c.md#function-timeout), [**SIG**](broker__monitor_8c.md#function-timeout))
define JVM_GetStringUTF (ENV, STRING) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**GetStringUTFChars**](broker__monitor_8c.md#function-timeout)([**STRING**](broker__monitor_8c.md#function-timeout), [**NULL**](freelistheap_8h.md#define-null))
define JVM_GetStringUTFLength (ENV, STRING) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**GetStringUTFLength**](broker__monitor_8c.md#function-timeout)([**STRING**](broker__monitor_8c.md#function-timeout))
define JVM_LIB_FILE "libjvm.so"
define JVM_LIB_PATH "jre/[**lib**](broker__monitor_8c.md#function-timeout)/[**amd64**](broker__monitor_8c.md#function-timeout)/[**server"**](broker__monitor_8c.md#function-timeout)
define JVM_LIB_PATH_JDK11 "lib/[**server"**](broker__monitor_8c.md#function-timeout)
define JVM_NewObjectArray (ENV, LENGTH, ELEMENTCLASS, INITIALCLASS) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**NewObjectArray**](broker__monitor_8c.md#function-timeout)([**LENGTH**](broker__monitor_8c.md#function-timeout), [**ELEMENTCLASS**](broker__monitor_8c.md#function-timeout), [**INITIALCLASS**](broker__monitor_8c.md#function-timeout))
define JVM_NewStringUTF (ENV, BYTES) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**NewStringUTF**](broker__monitor_8c.md#function-timeout)([**BYTES**](broker__monitor_8c.md#function-timeout));
define JVM_ReleaseStringUTF (ENV, JSTRING, CSTRING) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**ReleaseStringUTFChars**](broker__monitor_8c.md#function-timeout)([**JSTRING**](broker__monitor_8c.md#function-timeout), [**CSTRING**](broker__monitor_8c.md#function-timeout))
define JVM_SetObjectArrayElement (ENV, ARRAY, INDEX, VALUE) ([**ENV**](broker__monitor_8c.md#function-timeout))-&gt;[**SetObjectArrayElement**](broker__monitor_8c.md#function-timeout)([**ARRAY**](broker__monitor_8c.md#function-timeout), [**INDEX**](set__object_8h.md#define-index), VALUE)

Public Types Documentation

typedef CREATE_VM_FUNC

typedef jint(* CREATE_VM_FUNC) (JavaVM **, void **, void *);

Public Static Attributes Documentation

variable err_msgs

std::string err_msgs;

variable jvm

JavaVM* jvm;

variable sp_port

jint sp_port;

Public Functions Documentation

function pl_server_port

int pl_server_port (
    void
) 

function pl_start_jvm_server

int pl_start_jvm_server (
    const  char * db_name,
    const  char * path,
    int port
) 

Public Static Functions Documentation

function pl_create_java_vm

static int pl_create_java_vm (
    JNIEnv ** env_p,
    JavaVMInitArgs * vm_arguments
) 

function pl_get_create_java_vm_function_ptr

static void * pl_get_create_java_vm_function_ptr (
    void
) 

function pl_jvm_options

static std::vector< std::string > pl_jvm_options () 

function pl_tokenize_jvm_options

static std::vector< std::string > pl_tokenize_jvm_options (
    char * opt_str
) 

Macro Definition Documentation

define BUF_SIZE

#define BUF_SIZE `2048`

define JVM_AttachCurrentThread

#define JVM_AttachCurrentThread (
    JVM,
    ENV,
    ARGS
) `( JVM )-> AttachCurrentThread ( ENV , ARGS )`

define JVM_CallStaticIntMethod

#define JVM_CallStaticIntMethod (
    ENV,
    CLAZZ,
    METHODID,
    ARGS
) `( ENV )-> CallStaticIntMethod ( CLAZZ , METHODID , ARGS )`

define JVM_CallStaticObjectMethod

#define JVM_CallStaticObjectMethod (
    ENV,
    CLAZZ,
    METHODID,
    ARGS
) `( ENV )-> CallStaticObjectMethod ( CLAZZ , METHODID , ARGS )`

define JVM_CallStaticVoidMethod

#define JVM_CallStaticVoidMethod (
    ENV,
    CLAZZ,
    METHODID,
    ARGS
) `( ENV )-> CallStaticVoidMethod ( CLAZZ , METHODID , ARGS )`

define JVM_DetachCurrentThread

#define JVM_DetachCurrentThread (
    JVM
) `( JVM )-> DetachCurrentThread ()`

define JVM_ExceptionOccurred

#define JVM_ExceptionOccurred (
    ENV
) `( ENV )-> ExceptionOccurred ()`

define JVM_FindClass

#define JVM_FindClass (
    ENV,
    NAME
) `( ENV )-> FindClass ( NAME )`

define JVM_GetEnv

#define JVM_GetEnv (
    JVM,
    ENV,
    VER
) `( JVM )-> GetEnv ( ENV , VER )`

define JVM_GetStaticMethodID

#define JVM_GetStaticMethodID (
    ENV,
    CLAZZ,
    NAME,
    SIG
) `( ENV )-> GetStaticMethodID ( CLAZZ , NAME , SIG )`

define JVM_GetStringUTF

#define JVM_GetStringUTF (
    ENV,
    STRING
) `( ENV )-> GetStringUTFChars ( STRING , NULL )`

define JVM_GetStringUTFLength

#define JVM_GetStringUTFLength (
    ENV,
    STRING
) `( ENV )-> GetStringUTFLength ( STRING )`

define JVM_LIB_FILE

#define JVM_LIB_FILE `"libjvm.so"`

define JVM_LIB_PATH

#define JVM_LIB_PATH `"jre/ lib / amd64 / server"`

define JVM_LIB_PATH_JDK11

#define JVM_LIB_PATH_JDK11 `"lib/ server"`

define JVM_NewObjectArray

#define JVM_NewObjectArray (
    ENV,
    LENGTH,
    ELEMENTCLASS,
    INITIALCLASS
) `( ENV )-> NewObjectArray ( LENGTH , ELEMENTCLASS , INITIALCLASS )`

define JVM_NewStringUTF

#define JVM_NewStringUTF (
    ENV,
    BYTES
) `( ENV )-> NewStringUTF ( BYTES );`

define JVM_ReleaseStringUTF

#define JVM_ReleaseStringUTF (
    ENV,
    JSTRING,
    CSTRING
) `( ENV )-> ReleaseStringUTFChars ( JSTRING , CSTRING )`

define JVM_SetObjectArrayElement

#define JVM_SetObjectArrayElement (
    ENV,
    ARRAY,
    INDEX,
    VALUE
) `( ENV )-> SetObjectArrayElement ( ARRAY , INDEX , VALUE)`


The documentation for this class was generated from the following file cubrid/src/sp/pl_sr_jvm.cpp