有同好询问JBOSS 3.2.4如何为实体EJB配置额外JDBC数据源,网上流传较广的中文文献版本为《JBoss3.0 下配置和部署EJB简介》(by huihoo.org 赵晨希,zhaochenxi@vip.sina.com),由于仓促或版本差异,实体BEAN数据源配置一章节与3.2.X版本有微妙不同,造成许多同好误解。
在此为赵先生做如下补充:
在3.2.x版本下配置额外数据源,需要部署目录或EJB中存在
1。数据类型映射文件:
2。JDBC数据源JNDI注册文件及相应数据源JAR
3。EJB部署文件
以上文件均有相应命名规则。
1。数据映射文件:
需要在JBOSS部署目录 找到数据类型映射文件
Jboss安装目录\server\default\conf \standardjbosscmp-jdbc.xml
确认其中存在欲添加数据源的 DBMS数据类型 到JAVA 数据类型的映射设置,此处以MYSQL为例,应存在节点
<type-mapping>
<name>mySQL</name>
………………
记住其中类型映射名称“mySQL”,已备后用。
2。JDBC数据源JNDI注册文件及相应数据源JAR
2-1 将对应的JDBC JAR文件复制到 Jboss安装目录\server\default\lib 中(此处使用了JDBC mysql-connector-java-3.1.1-alpha-bin.jar作为MYSQL JDBC)
2-2 在Jboss安装目录\server\default\deploy 目录添加JDBC数据源JNDI注册文件,注意!该文件一定要以*-ds.xml命名!此处十分容易出错!只有数据源拥有了JNDI名称,实体BEAN才能创建正确地JDBC实例。
注册文件有相应格式规定。
常见数据库的样本文件可于 Jboss安装目录\docs\examples\jca 目录下找到。
仍以MYSQL为例,复制 Jboss安装目录\docs\examples\jca 目录下mysql-ds.xml到 Jboss安装目录\server\default\deploy目录,并作相应编辑:以Mysql为例,编辑如下:
例文:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name> <!--JNDI注册名-->
<connection-url>jdbc:mysql://127.0.0.1/lll</connection-url><!--JDBC连接字符串-->
<driver-class>org.gjt.mm.mysql.Driver</driver-class> <!-JDBC提供类--->
<user-name>root</user-name> <!--用户名-->
<password></password> <!--密码-->
</local-tx-datasource>
</datasources>
注意,非本地又需要分布式事务的数据库,如Oracle、SQL Server等可用<xa-datasource>注册JNDI,以便JBOSS提供额外支持。
例文:
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<xa-datasource>
……………………
此类情况应以*-xa-ds.xml来命名JNDI部署文件。常见样例依旧参看 Jboss安装目录\docs\examples\jca目录。
上一页 下一页






