JBoss 3.x 時代經典架構:JBoss 管理 Tomcat Servlet 容器,通過 JCA 數據源配置實現 MySQL 連接池,供 EJB/Web 應用共享。
# 文件:$JBOSS_HOME/server/default/deploy/tomcat4-service.xml
# 1. 按 J2EE 規范打包 WAR (含 WEB-INF/web.xml、classes、lib)
# 2. 複製到熱部署目錄
cp myapp.war $JBOSS_HOME/server/default/deploy/
# 3. JBoss 自動展開,日志顯示部署成功
# 4. 訪問 https://host:8080/myapp/ 驗證
# 1. 複製模板並修改
cp $JBOSS_HOME/docs/examples/jca/mysql-service.xml $JBOSS_HOME/server/default/deploy/
# 2. 編輯 mysql-service.xml 核心配置
MySQLDS
MySQL
jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
dbuser
dbpass
com.mysql.jdbc.Driver
5
20
5000
15
# 複製驅動 jar 到 JBoss 共享庫目錄
cp mysql-connector-java-3.1.14-bin.jar $JBOSS_HOME/server/default/lib/
# 重啟 JBoss 生效
<%@ page import="javax.naming.*,javax.sql.*,java.sql.*" %>
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:/MySQLDS"); // JNDI 查找
Connection conn = ds.getConnection();
try {
PreparedStatement ps = conn.prepareStatement("SELECT id FROM test");
ResultSet rs = ps.executeQuery();
while (rs.next()) out.println(rs.getInt("id") + "
");
rs.close(); ps.close();
} finally { conn.close(); } // 歸還連接池
%>
java:/,非標準 jdbc/tx-connection-factory 支持 JTA 分佈式事務,no-tx-connection-factory 非事務jboss.jca:name=MySQLDS,service=ManagedConnectionPool 指標JBoss 3.x (2003 年) 已徹底停止維護。生產環境請遷移至: