軟體版本清單
- JDK:J2SDK 1.4.x
- JBoss:jboss-3.0.4_tomcat-4.0.6
- MySQL:4.0.13 + MySQL Control Center (GUI)
- JDBC 驅動:mm.mysql-2.0.14 (解壓取
mm.mysql-2.0.14-bin.jar)
- Eclipse:2.1.2 + 中文包 + Lomboz 插件 (版本需對應 Eclipse)
環境變數設定
JAVA_HOME=D:\j2sdk1.4.x
JBOSS_HOME=D:\jboss-3.0.4_tomcat-4.0.6
MYSQL_HOME=D:\mysql
PATH=%JAVA_HOME%\bin;%JBOSS_HOME%\bin;%MYSQL_HOME%\bin;%PATH%
JBoss 整合 MySQL 步驟
- 部署 JDBC 驅動:
copy mm.mysql-2.0.14-bin.jar %JBOSS_HOME%\server\default\lib\
- 配置資料源:
copy %JBOSS_HOME%\docs\examples\jca\mysql-service.xml %JBOSS_HOME%\server\default\deploy\
編輯 mysql-service.xml:
<config-property name="ConnectionURL">
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK
</config-property>
<config-property name="DriverClass">
org.gjt.mm.mysql.Driver
</config-property>
<config-property name="UserName">root</config-property>
<config-property name="Password">pass</config-property>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
- 驗證:啟動 JBoss,控制台出現
Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySQLDS' to JNDI name 'java:/MySQLDS' 即成功。
Eclipse + Lomboz 專案建立
- File → New → Project → Lomboz → J2EE Project。
- 配置 Server Runtime 指向 JBoss。
- 建立 EJB/Web Module,編寫程式碼時透過 JNDI 查找 DataSource:
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:/MySQLDS");
Connection conn = ds.getConnection();
常見問題
| 現象 | 解決 |
| ClassNotFound: org.gjt.mm.mysql.Driver | jar 未放入 server/default/lib 或拼寫錯誤 |
| Communications link failure | MySQL 未啟動、端口錯誤、防火牆、skip-networking 開啟 |
| 中文亂碼 | ConnectionURL 加 useUnicode=true&characterEncoding=GBK; my.cnf 設定 default-character-set=gbk |
| Lomboz 不工作 | 版本必須與 Eclipse 完全一致 (如 2.1.2 對 2.1.2) |
現代化替代方案
- WildFly (JBoss 後繼) + MySQL 8 + Eclipse/IntelliJ IDEA + Maven/Gradle。
- Spring Boot 內嵌 Tomcat/Jetty,自動配置 DataSource (HikariCP)。
- Docker Compose 一鍵啟動:
docker-compose up -d mysql wildfly。