网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络编程首页 | ASP | ASP.NET | PHP | JSP | C# | Delphi | Java | C/C++ | XML | SMS | VC | VB | 数据库 |
您现在的位置: 超人气学院 >> 网络编程 >> Java >> 文章正文 用户登录 新用户注册
JBOSS3.2.X为实体Bean(EntityBean)配置数据源         
JBOSS3.2.X为实体Bean(EntityBean)配置数据源
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-11 1:44:43

有同好询问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配置文件:         

[1] [2] 下一页

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     一篇关于web.xml配置[7039]
     Java编写的计算器程[5758]
     (原创)一个Struts实[5668]
     [原创]彻底解决Stru[5012]
     JAVA面试题集(选择自[3365]
     JNI使用技巧点滴[3015]
     利用MyEclipse开发S[2828]
     Eclipse实用教程(V[2760]
     Jsp&Servlet会话[2348]
     java网络五子棋的源[2062]
    相 关 文 章
    JBuilder9.0开发实用技巧七
    jb+oracle+weblogiccmp中使
    图解Java开发工具JBuilder
    冰茶过后的喜悦--Eclipse3
    SwitchingbetweentheMicro
    Jboss下MSSQLServer配置指
    图解利用Eclipse3+Lomboz3
    图解利用Eclipse3+Lomboz3
    图解利用Eclipse3+Lomboz3
    EJB异常处理的最佳做法
    AboutConstructor
    AboutException
    ejbdesignpatterns
    Eclipse,LombozandTomcat的
    J2MEHTTPPOST
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)