Java
SmartEDB Java 本地接口(JNI)由一组封装了构成 SmartEDB 运行时的底层 C 函数的包装类组成。这些类的用法在 Java SDK 示例中有所展示。对于初次接触 SmartEDB 的开发人员,我们建议您先学习快速入门教程,以快速掌握编程基础。然后继续构建并运行 SDK 示例。
正如这些示例所展示的那样,一个 Java 应用程序将使用带有 @Persistent 标注的原生 Java 类来定义其数据库架构。通常,这些数据库类随后会在 Database.open() 方法的参数中作为 Database.Parameters.Classes 初始化列表中的指定项。当实例化 Database 对象时,所需的 SmartEDB 运行时库将动态加载。
Java 运行时库
核心的 SmartEDB 和 SmartESQL 运行时功能封装在 smartedb.jar 存档中,该存档与 Java 应用程序一起编译。然后,可以设置以下数据库配置值,以便在实例化数据库时动态加载相关库:
配置值 | 说明 |
---|---|
MCO_CFG_DEBUG_LIBRARY | 加载库的调试版本以提供额外的诊断异常 |
MCO_CFG_MVCC_TRANSACTION_MANAGER | 加载“_mvcc”版本的库以使用 MVCC 事务管理器 - 默认加载“_mursiw”(MURSIW 事务管理器)版本的库 |
MCO_CFG_SHARED_MEMORY | 加载“_shm”版本的库用于使用共享内存的数据库 |
MCO_CFG_DISK_SUPPORT | 加载“_disk”版本的库用于在持久存储设备上的数据库 |
MCO_CFG_HA_SUPPORT | 加载 SmartEDB 高可用性库 |
MCO_CFG_CLUSTER_SUPPORT | 加载 SmartEDB 集群库 |
MCO_CFG_MPI_CLUSTER_SUPPORT | 加载用于 MPI 通道传输层的 SmartEDB 集群库 |
MCO_CFG_TL_SUPPORT | 加载 SmartEDB 事务日志库 |
MCO_CFG_SQL_SUPPORT | 加载 SmartESQL 库 |
MCO_CFG_LOAD_ASSEMBLY | 当前未使用 |
MCO_CFG_USE_POSIX_LIBRARIES | 除常量 MCO_CFG_SHARED_MEMORY 外,使用时加载 mcompsx 共享内存库,而非默认使用的 mcomipc |
MCO_CFG_DISK_COMPRESSION | 在 Unix 系统中启用文件支持库 mcofu98zip 中的文件压缩功能。内部假定使用文件打开标志 MCO_FILE_OPEN_COMPRESSED(详情请参阅 C 语言中的数据压缩 页面) |
请参阅 SDK 示例 Open2,了解如何在运行时设置这些库选项的示例。