学习EJB中遇到了几个很困惑我的问题,诚心向高手请教!

kenees 2003-10-12 08:51:03
我在学习EJB中遇见了几个问题不太清楚,请大家帮我解释解释好吗,先谢谢了
1,在编写BMP的一个简单例子中,在ejb-jar.xml文件中有这样一段描述
<resource-ref>
<res-ref-name>jdbc/ejbPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
这里面有些问题我想请教一下,<res-ref-name>jdbc/ejbPool</res-refname> 这个元素设置了JDBC Driver并且使它在可用的合适的位置,我不太明白是否只是一个这样的描述便可以是便可以找到JDBC Driver?还需要作以别的什么工作吗,比如说指定你所需要的具体的JDBC驱动程序,因为在<res-ref-name>这个元素中,我实在看不出有什么东西可以明确地去指定你所需要的JDBC驱动程序!

2, 如果我只是为了测试简单地建立了一个MS Access数据库,具体应该怎样在ejb-jar.xml文件中获得JDBC驱动程序呢?比如说,我以前是这样调用我的数据库的,在数据源里面先注册我的数据库,然后通过Class.forName(JDBC驱动程序),可是现在在EJB里面我是否还需要先在数据源注册驱动程序呢?

3,请问weblogic-ejb-jar.xml文件,中的
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/ejbPool</res-ref-name>
<jndi-name>ejbPool</jndi-name>
</resource-description>
</reference-descriptor>
这个元素是为了帮助Weblogic定位JDBC Driver的吗?具体是怎样实施的呢?

我的问题有些低级,不过这些已经困惑了我一天了,还是希望高手能够给我指点指点,谢谢!!!!
...全文
95 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenees 2003-10-13
  • 打赏
  • 举报
回复
"楼主是不是没学JSP,直接就上EJB了?"
JSP我大致看了些,因为看到里面有很多地方要用到EJB所以就赶着看EJB了,刚才我看了EJB的specification现在对EJB又有了些了解

谢谢 chjoke(cherish)和wangchq(阿宝) 的解释,我现在有了些了解了,一会再去看看Weblogic的DOC,希望能弄明白
kenees 2003-10-13
  • 打赏
  • 举报
回复
我是按以下步骤来连接一个用Microsoft Access建立的数据库DBAccount的:
1,在控制面板里面的数据源注册一个名为Account的数据源,驱动程序为Microsoft Access Driver(*.mdb),这个数据源是连接到数据库DBAccount的
2,启动WebLogic,在左边的控制面板选择Services->JDBC->DataSource Factories,然后选择Configur a new data source factory
3,在Configuration里面我是这样填写的
Name:DS(我随便添写了一个)
User Name: 数据库使用者用户名
Password:Password
URL:jdbc:odbc:Account
Driver Class Name:sun.jdbc.odbc.JdbcOdbcDriver
Factory Name:jdbc/ejbPool(我在ejb-jar.xml里面这样写的
<resource-ref>
<res-ref-name>jdbc/ejbPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>)
Properties:没添(我实在不知道这是什么意思,请高手指点)

以上就是我的做法,请帮我执正错误,因为在运行客户端程序examples.AccountClient时,有如下异常:
examples.AccountException: javax.naming.LinkException: [Root exception is javax
.naming.NameNotFoundException: Unable to resolve 'ejbPool' Resolved ; remaining
name 'ejbPool']; Link Remaining Name: 'ejbPool'

我实在是没办法了

naxin 2003-10-13
  • 打赏
  • 举报
回复


http://www.cjsdn.com/post/view?bid=2&id=53912&sty=1&tpg=1&age=0
kenees 2003-10-13
  • 打赏
  • 举报
回复
我使用的是weblogic8.1麻烦各位高手帮我解释一下出现在Data Source Factories -> Configure a new JDBC Data Source Factory... 中出现的选项的填写方法
第一项是Name: (注释:The name of this JDBC data source factory)

第四项是URL: (注释:The URL of the database to connect to. The format of the URL varies by JDBC driver.在我的这个例子里面我试着添成jdbc:odbc:Account)

第五项是Driver Class Name: (注释:The full package name of JDBC driver class used to create the physical database connections in the connection pool. 在我的这个例子里面我试着添成sun.jdbc.odbc.JdbcOdbcDriver)


第六项也是我最糊涂的一项Factory Name: (注释为:The name used in deployment descriptor files to reference this JDBC data source factory.谁能告诉我它和第一项
Name:的区分呀,我都快晕了)

最后一项:Properties: (注释为:The list of properties passed to the JDBC driver that are used to create physical database connections. For example: server=dbserver1. List each property=value pair on a separate line. 这一项我实在不知道是什么意思,因为我觉得该添的东西应该已经都添过了,高手帮我指点指点好吗)

我的ejb-jar.xml关于数据库是这样引用的
<resource-ref>
<res-ref-name>jdbc/ejbPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
代码中是这样引用的
Context ctx = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/ejbPool");
return ds.getConnection();

写得有点多,如果分不够的话,还可以再加,只要解决问题,你开口。
谢谢!!!!
kenees 2003-10-13
  • 打赏
  • 举报
回复
naxin兄,你能简单告诉我JDBC的驱动放在哪里吗?
naxin 2003-10-13
  • 打赏
  • 举报
回复
我的意思是说,如学了JSP,就会理解JDBC驱动放在哪的问题.

RobertDeNiro 2003-10-13
  • 打赏
  • 举报
回复
是bmp
ejb-jar.xml
<resource-ref>
<res-ref-name>jdbc/DS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
weblogic-ejb-jar.xml
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/DS</res-ref-name>
<jndi-name>DS</jndi-name>
</resource-description>
</reference-descriptor>
kenees 2003-10-13
  • 打赏
  • 举报
回复
请问 RobertDeNiro()兄,这个文件weblogic-cmp-rdbms-jar.xml,是要自己在创建一个吗?我的META-INF里面只有ejb-jar.xml和weblogic-ejb-jar.xml这两个文件呀
RobertDeNiro 2003-10-13
  • 打赏
  • 举报
回复
在weblogic-cmp-rdbms-jar.xml中加入
<data-source-name>DS</data-source-name>
RobertDeNiro 2003-10-13
  • 打赏
  • 举报
回复
jdbc/ejbPool 应该是 数据源的jndi名称 也就是 DS
naxin 2003-10-13
  • 打赏
  • 举报
回复
建议如用 jb + weblogic开发,一定要先看看人家自带的帮助,才有收获.

:-O

naxin 2003-10-13
  • 打赏
  • 举报
回复
我为了省事都是扔到JAVA_HOME/jre/lib/ext目录中,这样可以不用特别地指出类路径.
或是bea/jdk/jre/lib/ext.

看来楼主看的是<<精通EJB 2>>,那些XML文件只是配置数据源,我觉得书中讲得很详细啊,书中附录中有关于jndi知识点的介绍.

weblogic中,在console窗口中,1)配置一个pool,2)再配置一个数据源.就OK了.

你的程序找数据源,就是通过xml文件中的内容.
wangchq 2003-10-12
  • 打赏
  • 举报
回复
<resource-ref>
<res-ref-name>jdbc/ejbPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
以上这一点描述,是告诉ejb的发布程序,这个ejb需要引用一个外部的对象,这个对象的类型是javax.sql.DataSource,这个对象由容器提供(Container),引用的名称为jdbc/ejbPool。而具体的这个对象的其他信息,比如jdbc的驱动信息等,是依据不同的ejb容器(例如weblogic, websphere, jboss等)在各自的服务器中定义的数据源对象,不同的服务器有不同的配置方法,具体参看服务器的使用手册。
JavaNight 2003-10-12
  • 打赏
  • 举报
回复
up
chjoke 2003-10-12
  • 打赏
  • 举报
回复
我也感到你的问题的严重性了。
对于“<res-ref-name>jdbc/ejbPool</res-refname> 这个元素设置了JDBC Driver并且使它在可用的合适的位置,我不太明白是否只是一个这样的描述便可以是便可以找到JDBC Driver?还需要作以别的什么工作吗?”
如果你用的是weblogic 的话,那么你肯定要首先要在weblogic中建立这个数据源(在管理控制台里有),并且将这个数据源的jndi名设为jdbc/ejbPool。
naxin 2003-10-12
  • 打赏
  • 举报
回复
楼主是不是没学JSP,直接就上EJB了?
kenees 2003-10-12
  • 打赏
  • 举报
回复
急呀~~~
代码转载自:https://pan.quark.cn/s/a4b39357ea24 LA 1010 逻辑分析仪被视作一种效能卓越的数字信号分析设备,其核心功能在于对数字通信协议,例如I²C,进行检测与解构。本资源将集阐述LA 1010的操作流程以及如何借助该设备对I²C协议的波形展开分析。 确保逻辑分析仪被正确地连接至目标系统是极为关键的环节。在运用LA 1010的过程,必须将分析仪的通道0与通道1分别对应连接至目标装置的SCL(时钟)与SDA(数据)线路。务必保证连接的稳固性且无任何干扰因素,以此确保数据采集的精确度。 随后,需要设定采样参数。采样频率对于能否成功捕捉到信号具有决定性的作用。针对I²C协议,通常选用的采样频率范围介于100kHz到400kHz之间,这一范围的选择取决于实际应用场景I²C总线的运行速度。然而,LA 1010所能达到的最高采样速率可能高达500MHz,因此需要根据具体需求进行相应的调整。此外,还必须精心挑选适配目标设备工作电压的电压等级,例如3.3V、5V或1.8V。 在软件操作层面,需要选取恰当的通道与协议种类,即I²C。一旦启动采样,逻辑分析仪便开始记录相关数据。软件界面通常会实时展示波形图,为观察与分析提供便利。 关于I²C协议波形的解读,我们可以遵循以下步骤: 1. 总线处于空闲状态时:SCL与SDA均维持在高电平位置,这表明总线当前未进行数据传输。 2. 传输起始信号:当SCL处于高电平期间,SDA线从高电平转换至低电平,此动作标志着数据传输的开始。 3. 地址、数据及应答的识别:在每一个SCL高电平脉冲的持续时间内,SDA线上的电平状态代表了数据位。地址与数据的传输均为双向过程,而读写标识则由SDA线上的电平来...
内容概要:本文介绍了一种基于有限元分析(FEA)获取的磁通链接图来构建高精度永磁同步电机(PMSM)数学模型的方法,并在Simulink环境实现仿真。该方法通过有限元软件提取电机在不同工况下的非线性磁通特性数据,建立精确的磁链-电流-转子位置映射关系,有效克服了传统线性模型在反映铁芯饱和、交叉耦合等非线性效应方面的局限性。所构建的模型能够更真实地模拟PMSM的实际电磁行为,适用于高性能控制算法(如矢量控制、直接转矩控制、模型预测控制等)的研发与验证,显著提升了控制系统在动态响应、效率优化和稳定性方面的仿真准确性。; 适合人群:具备电机控制理论基础、熟悉有限元分析与Simulink仿真的研究生、科研人员及从事电机设计与驱动系统开发的工程技术人员。; 使用场景及目标:①用于高精度永磁同步电机控制系统的设计、仿真与性能评估;②支持先进控制策略(如MPC、滑模控制、自适应控制)在非线性电机模型上的验证与优化;③为电机参数敏感性分析、能效优化、故障诊断与容错控制研究提供可靠的仿真平台; 阅读建议:建议读者结合ANSYS Maxwell、JMAG等有限元工具与Matlab/Simulink进行联合仿真,掌握从电磁场建模、数据提取、查表插值到控制系统集成的完整流程,并参考文模型架构与数据处理方法,逐步复现、验证并拓展适用于特定电机结构的高保真仿真模型。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧