如何在 JBoss 中创建 ConnectionPool/JDBC,而不更改应用程序中的任何代码?我已经有了部署文件 (.WAR)。
例如,在 tomcat 中,我只需要将新资源添加到 server.xml 文件中。类似这样的事情:
...
<GlobalNamingResources>
...
<Resource driverClassName="com.mysql.jdbc.Driver" name="testDBConnectionPool" password="root" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/testDB" username="root"/>
...
</GlobalNamingResources>
...
如何在 JBoss 中做到这一点?据我了解,JBoss 使用 mysql-ds.xml file为此,但我们需要在代码中调用它。我说得对吗?
JBoss中有类似Tomcat的方法吗?
最佳答案
在 mysql-ds.xml 中添加所需信息并将其放入 $JBOSS_HOME/dirserver/default/deploy 中。
如果你的数据源名称是 jdbc/MySQLDS ,那么你可以这样调用它
javax.naming.Context ic = new javax.naming.InitialContext();
javax.naming.Context ctx = (javax.naming.Context) ic.lookup("java:");
javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("jdbc/MySQLDS");
java.sql.Connection con = ds.getConnection();
更新:
您需要确保 mysql-ds.xml 的值与 tomcat 的 server.xml 中的值完全相同。
关于tomcat - 在 JBoss AS 5.x 中使用 Tomcat 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189492/