配置JBoss数据源,为什么要在JBoss中配置数据源?这其实是面向对象思想的一种体现:通过容器管理对数据库的访问。
最开始我们通过JDBC访问数据库,什么Connection、Command都由我们自己创建。但每次打开关闭数据库很消耗资源,于是出现了数据库连接池,提前建立好对数据库的连接,用的时候去连接池取,用完了送回到连接池。这样虽然解决了资源消耗问题,但连接过程仍需要手动干预。后来在用Spring整合Hibernate时,出现了用Spring的IOC容器管理Hibernate对数据库的访问的思想,这个过程好比用Tomcat管理Servlet的生命周期。我们只需用Servlet完成消息的提交,不必要关心它什么时候创建、什么销毁,JBoss管理数据源也是相同的思想。
上面解决了为什么的问题,下面解决怎么做的问题。
1.首先在jboss-4.2.3.GA\docs\examples\jca目录找到mysql-ds.xml文件(以mysql数据源为例),将其复制到桌面,编辑mysql-ds.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>itcastDS</jndi-name> <connection-url>jdbc:mysql://mysql-hostname:3306/test</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>quwenzhe</user-name> <password>123456</password> <min-pool-size>3</min-pool-size> <max-pool-size>100</max-pool-size> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>
在mysql-ds.xml文件中我们配置了对mysql数据库访问的相关参数。
2.把访问mysql的驱动jar文件复制到jboss-4.2.3.GA\server\default\lib目录;
3.重启JBoss服务器;
4.部署mysql-ds.xml到JBoss服务器:复制mysql-ds.xml文件到jboss-4.2.3.GA\server\default\deploy目录;
5.查看JBoss控制台,在jboss.jca中如果能找到我们配置的JNDI名称,说明数据源配置成功,如下图所示:
在ManagedConnectionPool中可以查看我们配置的数据源参数。
到此,配置JBoss数据源成功。