JBOSS 3.2.X为实体Bean(Entity Bean)配置数据源

原创 2004年10月17日 16:20:00

有同好询问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目录。

3。EJB部署文件
 在部署的实体EJB包中添加  /META-INF/jbosscmp-jdbc.xml文件。
 
并填写相关信息:

 例文为JBuilber X生成部署模板,包括一个实体BEAN be1
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.2//EN" 

"http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_2.dtd">
<jbosscmp-jdbc>
  <defaults>
    <datasource>java:/MySqlDS</datasource>     <!--JDBC的JNDI默认注册名称,需与2中*.-ds.xml设

置一致,注意JBOSS需要附加JAVA前缀-->
    <datasource-mapping>mySQL</datasource-mapping> <!--JDBC默认类型映射名,需与1中standardjbosscmp-jdbc.xml设置一致-->
  </defaults>
  <enterprise-beans>
    <entity>
      <ejb-name>be1</ejb-name>
      <datasource>java:/MySqlDS</datasource><!--实体BEAN be1 JDBC的JNDI注册名称,需与2中*.-ds.xml设置一致,注意JBOSS需要附加JAVA前缀-->
      <datasource-mapping>mySQL</datasource-mapping><!--实体BEAN be1 JDBC类型映射名,需与1中standardjbosscmp-jdbc.xml设置一致-->
      <table-name>news</table-name>
      <cmp-field>
        <field-name>pid</field-name>
        <column-name>ID</column-name>
      </cmp-field>
    </entity>
  </enterprise-beans>
</jbosscmp-jdbc>

至此,直接拷贝EJB至部署目录(Jboss安装目录/server/default/deploy)即可。

 

如有差勿请确认存在以下文件:
类型映射配置文件:            Jboss安装目录/server/default/conf /standardjbosscmp-jdbc.xml
JDBC driver:                         Jboss安装目录/server/default/lib/connector-java-3.1.1-alpha-bin.jar
JDBC driver JNDI注册文件:Jboss安装目录/server/default/deploy/mysql-ds.xml
ejb配置文件:                        ejb包中            /META-INF/jbosscmp-jdbc.xml

------------------------------
题外:JBOSS 3.2.4整和TOMCAT 5作为HTTP容器,通常应位于Jboss安装目录/server/default/deploy/jbossweb-tomcat50.sar中
server.xml用于修改服务端口等设置(<Connector>节点),具体参见TOMCAT文档
--------------------------------------------------------------------------------------
附加资源:
JBOSS 3.2.X的配置英文说明书,参考原文:http://www.wmenl.com/doc/index.pdf  

中文自译版本请向作者索取:00x0@sina.com

 

jboss配置数据源

jboss使用xml文件配置数据源,在JBOSS_HOME/docs/examples/jca文件夹下可以找到各种数据库的数据源配置文件的实例,jboss数据源配置文件的文件名格式是:*-ds.xml...
  • jyy208
  • jyy208
  • 2010年08月18日 14:18
  • 1850

在JBOSS中配置数据源(连接池)

数据源配置:      在路径jboss/doc/examples/jca下,如果你的是mysql数据库,则选mysql-ds.xml DefaultMySqlDS jd...
  • wx5040257
  • wx5040257
  • 2017年09月11日 23:08
  • 146

Ejb的实体bean

在上一篇文章中,我们学习了EJB的会话bean,这篇文章我们来说一下EJB的实体bean,说到实体bean,就不得不说JPA了,JPA是在EJB3.0的时候提出来的,但是他不局限于EJB3.0,而是适...
  • zhanghongjie0302
  • zhanghongjie0302
  • 2015年12月18日 13:13
  • 1711

Jboss 数据源配置参数

jboss 配置参数说明
  • tiantianxie
  • tiantianxie
  • 2015年12月28日 10:29
  • 1125

(5)配置jboss数据源

itmDS     jdbc:mysql://localhost:3306/jbossdb     com.mysql.jdbc.Driver     root     root ...
  • itm_hadf
  • itm_hadf
  • 2012年06月22日 13:29
  • 1863

JBOSS4 数据源配置大全(一)

 Jboss 4.0的开发人员版本是一个开源的应用服务器,他把HypersonicDB作为他的缺省数据库。然而,开发人员也许还要使用除了HypersonicDB以外其他种类的数据库,在这篇文章中我们将...
  • zaowei21
  • zaowei21
  • 2005年01月07日 18:10
  • 1437

五大步完成JBOSS 5 多数据库的多数据源配置

第一步、配置 mysql-ds.xml; 要定义的数据源名称 1 jdbc:mysql://192.168.16.20:3306/db_a com.mysql.jdb...
  • konglongaa
  • konglongaa
  • 2016年08月12日 15:07
  • 566

jboss与spring结合配置数据源

最近在使用jboss结合spring配置数据源,遇到过一些问题也从网上找了很多资料,基本上大同小异全部都是如何去配置,但是也没有解决问题,终于解决了在此记录下如何配置以及待解决的问题,供参考。 ...
  • ErickPang
  • ErickPang
  • 2016年12月16日 13:36
  • 691

JBOSS 配置Mysql JNDI数据源

修改配置 \jboss-as-7.1.1.Final\standalone\configuration
  • k_scott
  • k_scott
  • 2016年07月14日 13:58
  • 777

配置jboss的oracle数据源

 Oracle数据源配置 前提:JBOSS_HOME=jboss的home目录(安装目录)有测试JBoss4.2.0-GA版本数据源的jndi名字为OracleDS 配置密码为明码的Oracle数据源...
  • yswname
  • yswname
  • 2007年11月30日 08:29
  • 1475
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JBOSS 3.2.X为实体Bean(Entity Bean)配置数据源
举报原因:
原因补充:

(最多只允许输入30个字)