学习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的吗?具体是怎样实施的呢?

我的问题有些低级,不过这些已经困惑了我一天了,还是希望高手能够给我指点指点,谢谢!!!!
...全文
97 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
  • 打赏
  • 举报
回复
急呀~~~
内容概要:本文档是一份针对全国大学生电子设计竞赛(NUEDC)的“保姆级”实战指导手册,系统涵盖赛题解析与方案库、模块化代码与电路实现、以及测试报告范例三大核心部分。手册深入剖析了电赛七大赛题类别及其命题规律,强调“基本要求+发挥部分”的结构特点、指标逐年收紧趋势及测量与控制复合型题目的增加。通过数控直流电流源和频率特性测试仪两个典型案例,展示了从系统方案设计、关键器件选型到软硬件实现的完整路径。同时,提供了基于STM32 HAL库的ADC采样、PWM生成、OLED显示、无线通信等常用模块的详细电路原理与驱动代码,并辅以测试报告范例和评分标准解析,帮助参赛者规范撰写高质量设计报告。; 适合人群:参加全国大学生电子设计竞赛的本科生及指导教师,尤其适合有一定单片机和电路基础、希望在短时间内高效备赛并提升获奖概率的团队。; 使用场景及目标:①帮助参赛者快速掌握电赛命题规律与主流技术方案,精准应对电源类、控制类、仪器仪表类等高频赛题;②提供可复用的模块化代码与电路设计,加速硬件搭建与软件开发进程;③指导撰写符合评审标准的设计报告,强化误差分析与测试数据呈现,提升综合得分。; 阅读建议:建议按照“赛题分析→方案设计→模块实现→报告撰写”的流程顺序阅读,重点学习典型案例的整体设计思路与关键器件选型依据。对于代码与电路部分,应在实际开发板上动手验证,结合示波器、逻辑分析仪等工具进行调试。撰写报告时,务必参考文测试表格与误差分析模板,确保数据完整、分析定量,避免因报告不规范而失分。;
内容概要:本文提出了一种基于局部质心的无监督图像分割方法,适用于2D和3D图像,通过Matlab代码实现。该方法不依赖标注数据,利用图像内部的局部质心信息进行聚类分析,从而实现对图像关键区域或物体边界的自动提取。文系统阐述了算法的核心原理、实现流程及其在多种图像类型上的应用表现,重点展示了其在处理复杂结构图像时所具备的高鲁棒性与分割精度,尤其适用于缺乏先验标签的实际场景。; 适合人群:具备一定图像处理理论基础和Matlab编程能力,从事计算机视觉、医学影像分析、工业检测或遥感图像研究等相关领域的科研人员及研究生。; 使用场景及目标:①实现医学图像(如MRI、CT)病灶区域的无监督自动分割;②应用于工业领域三维物体表面缺陷的识别与定位;③完成遥感或生物显微图像在无标签条件下的像素级分割任务;④为后续高级视觉任务(如目标识别、行为追踪)提供高质量的前期特征支持; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,深入理解局部质心计算机制与聚类分割过程,尝试在不同模态图像上调整参数以优化分割效果,并可将其与K-means、Mean Shift等经典算法进行对比实验,全面掌握该方法的优势与适用边界。

67,534

社区成员

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

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