隨著企業對高性能數據處理需求的增長,內存數據庫成為關鍵選擇。IBM solidDB 作為高速內存關係型數據庫,配合 Apache OpenJPA 持久化提供者,可在 WebSphere Application Server V7 環境下構建極具性能優勢的 Java EE 應用。本文將通過一個 CTI(計算機電話集成)示例應用,詳細演示從環境搭建到部署運行的完整流程。
JPA 標準化優勢: Java Persistence API (JPA) 作為 EJB 3.0 規範核心部分,統一了 Hibernate、TopLink、JDO 等框架精華,讓開發者針對標準 API 編碼,避免廠商鎖定。IBM 的 JPA 實現基於 Apache OpenJPA,提供企業級支援。
solidDB 核心特性:
模擬呼叫中心場景,核心組件包括:
createCaller、updateAgent系統通過 JMS 接收狀態變更,利用 solidDB 內存特性實時緩存座席與呼叫者狀態,保障智能路由決策的數據一致性。

Project → Build Automatically 取消勾選File → Import → Other → Project InterchangeWAS_HOME 指向 WebSphere 安裝目錄(如 d:\IBM\SDP75\runtimes\base_v7)WAS_HOME 同樣指向安裝目錄CTIServices/build.properties 中 was.home 屬性Project → Clean 全量構建,確保無錯誤

# 1. 安裝 solidDB 6.3,假設安裝目錄 d:\IBM\SolidDB
# 2. 創建數據庫實例
.\bin\solid -c eval_kit\standalone
# 提示輸入系統目錄、用戶名、密碼,均可設為 "dba"
# 3. 執行建表腳本
.\bin\solsql "tcp localhost 1315" dba dba ^\CTIEntities\dml\createTablesSolid.ddl
# 4. 導入測試數據
.\bin\solsql "tcp localhost 1315" dba dba ^\CTIEntities\dml\createDataSolid.sql
<WS> 為 RAD 工作空間路徑(如 d:\workspaces\usingjpawithsoliddb)。
Window → Show View → Servers → New → WebSphere Application Server V7.0Application servers → server1 → Ports,記錄 BOOTSTRAP_ADDRESS 值CTIServices/ejbModule/jndi.properties 中端口號匹配實際值
CTIApplication 添加至 Server 部署列表WSVR0221I: Application started: CTIApplicationStateManagerTest.java → Run As → Run ConfigurationsCTIServices_withStubs.jar 以支援遠程 EJB 調用

文件位於 META-INF/persistence.xml,核心屬性配置如下:
<persistence version="1.0" xmlns="https://java.sun.com/xml/ns/persistence">
<persistence-unit name="CTIPU">
<properties>
<property name="openjpa.ConnectionDriverName" value="solid.jdbc.SolidDriver" />
<property name="openjpa.ConnectionURL" value="jdbc:solid://localhost:2315/dba/dba" />
<property name="openjpa.ConnectionUserName" value="dba" />
<property name="openjpa.ConnectionPassword" value="dba" />
<!-- 可選:solidDB 專用詞典,若無則回退通用 JDBC 詞典 -->
<property name="openjpa.jdbc.DBDictionary" value="org.apache.openjpa.jdbc.sql.SolidDBDictionary" />
</properties>
</persistence-unit>
</persistence>
注意: 因 solidDB 非 OpenJPA 內建支援數據庫,若未提供專用 DBDictionary,將使用通用 JDBC 詞典,功能受限但本示例測試無問題。生產環境建議貢獻或使用社區實現的 SolidDBDictionary。
本文完整演示了在 WAS V7 上整合 solidDB 6.3 與 OpenJPA 的全流程:環境準備、數據庫部署、應用配置、部署驗證。該方案充分發揮內存數據庫極致性能,適用於實時決策、高頻交易、緩存加速等場景。IBM 已將 solidDB 正式支援納入 OpenJPA 需求清單,未來版本將提供原生詞典支援,進一步釋放性能潛力。
完整源碼下載:usingjpawithsoliddb.zip