现在的位置: 首页 > 综合 > 正文

JBuilder7中调试WebLogic7.0的EJB [转载]

2013年02月08日 ⁄ 综合 ⁄ 共 6012字 ⁄ 字号 评论关闭
 


JBuilder7中调试WebLogic7.0的EJB

摘 要:本文目的是介绍如何在集成的开发环境JBuilder 下调试运行在WebLogic当中的EJB,分为三部分。第一部分讲述Java Platform Debugger Architecture,JBuilder下的调试器正是基于这个框架进行工作的;第二部分介绍JBuilder下的WebLogic配置,正确的在JBuilder配置是保证成功调试的前提条件;第三部分进入调试EJB的实质阶段,以一个具体的例子演示EJB的调试。

1.关于Java Platform Debugger Architecture

在Java的发展历史上,JAVA 2的推出使得Java逐渐切入企业级的应用市场。面对众多的企业应用开发者,如何提供一个方便、易用的调试框架,为所有的JAVA 2应用提供基础层次的调试支撑,成为JAVA 2设计者们所要考虑的一个重要问题。

新的Java Platform Debugger Architecture伴随着JAVA 2的发布而出现在开发人员面前,它由三个部分组成:Java虚拟机调试接口(JVMDI)、Java调试网络协议(JDWP)和Java调试接口(JDI)。

它们之间的关系可通过以下的示意图描述:

任何符合JAVA 2规范的虚拟机都必须实现JVMDI,以支持来自JDI的调试命令。至于JVMDI和JDI之间通过何种方式进行通信,在跨越网络的环境下,首选的协议是TCP,当然也可能包含其他的网络协议和方式,这取决于厂商提供的JVM的实现。比如目前Sun公司提供的用于Windows平台的JVM,一个JVMDI的实现,同时支持TCP和Share memory的通信方式;而用于Solaris平台的JVM,则只支持TCP的通信方式。

通常我们会以调试模式启动即将被调试的JAVA 2进程,而后调试前端attach到这个进程上,向该进程发起调试命令,这称为远程调试(Remote debugging)。

自JAVA 2发布后,在1.3、1.4当中,JPDA都得到了不断的增强,有关更多JPDA的信息,请参见JAVA 2联机文档。

在JBuilder当中,我们即将使用的调试方式就是Remote debugging。

2.在JBuilder中配置WebLogic

"工欲善其事,必先利其器",JBuilder作为一个功能强大的IDE,支持在多种应用服务器环境下进行开发、调试和部署J2EE应用。缺省的,JBuilder当中只配置了一个免费的tomcat作为EJB的容器,我们需要重新设定JBuilder缺省的应用服务器为WebLogic。

2.1.配置WebLogic Application Server

启动JBuilder后,选择菜单"Tools"->"Configure Servers…",设置画面如下:

Home directory - WebLogic Server所在目录
Main class - 当设定Home directory后,JBuilder会自动设定
VM parameters --当设定Home directory后,JBuilder会自动设定
Working directory - WebLogic Server域所在目录

JDK installation directory - WebLogic Server所使用JDK所在的目录
BEA home directory - BEA软件所在目录
Domain directory - 同Working directory
User name - 启动WebLogic Server的系统用户
Password - 系统用户口令

2.2.指定WebLogic Application Server为缺省的应用服务器

以上的步骤实际上已经在JBuilder当中配置了一个可用的WebLogic Server,下面我们将该WebLogic Server设定为JBuilder项目缺省使用的应用服务器。

选择菜单"Project"->"Default Project Properties…"->"Server",在Single server for all services in project的下拉列表中选择WebLogic Application Server 6.x+

点击"OK"按钮即完成在JBuilder中配置WebLogic的事项。

3.在JBuilder中调试EJB

3.1.建立新项目Sample

使用JBuilder开发J2EE应用时,都是以project为单位的,因此接下来我们首先在JBuilder当中新建一个名为DebugEJB的项目,选择菜单"File"->"New Project…"

点击"Finish"按钮,完成Sample项目的建立。

3.2.向项目增加DebugEJB EJB Module

选择菜单"File"->"New",在Object Gallery对话框中选择EJB Module类型

接下来在弹出的对话框当中为该EJB Module命名为DebugEJB

在EJB Module中开始增加EJB,为了方便起见,我们加入一个名为Sample的简单Session EJB

紧接着为该Session EJB增加一个test方法,其返回值定义为String类型:

JBuilder将自动在SampleBean.java产生对应方法的代码,我们切换到test方法所对应的代码区,增加以下代码:

int i=0;
i++;
return "SampleBean.test was called!!!";

编译并产生EJB打包文件Sample.jar。

接着使用JBuilder为该EJB产生一个用于测试的EJB Test Client,

修改SampleTestClient1.java的main方法,以调用开发的EJB:

client.create();
String s = client.test();
System.out.println("The return value from EJB is " + s);

选择Project->Project Properties...->Run->New,为EJB的启动产生一个运行时的配置文件(JBuilder7的新特性):

接下来,还需为调用session bean的应用程序产生一个运行时的配置文件(这时应使选择Application属性页):

在test方法中设置断点,然后使用鼠标点击浮动工具栏的Debug Project图标,并选择For EJB Run,如下图。JBuilder7将启动WebLogic7.0以开始调试。

由于WebLogic7.0缺省运行在开发模式,因此我们只需要将DebugEJB.jar拷贝到C:/bea/user_projects/mydomain/applications目录,WebLogic7.0会自动部署我们的EJB。

接着运行调用session bean的应用程序,JBuilder7将在断点处停下来:

一旦session bean的代码发生变化,我们重新编译后,可直接将DebugEJB.jar拷贝到C:/bea/user_projects/mydomain/applications目录,WebLogic7.0会自动重新部署新的.jar文件。

调试结束后,应该将C:/bea/user_projects/mydomain/applications目录下的DebugEJB.jar删除。
附录
下面是一些可供参考的资料

  • Java 2 SDK, Standard Edition Documentation
  • Borland JBuilder Online Help
  • 搜索文章: 回到文章列表 回到文章顶部

    http://dev2dev.bea.com.cn/techdoc/webser/20030472.html(来源)






    更多


    查看评论
    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场


      个人资料

      • 访问:27646次
      • 积分:426分
      • 排名:千里之外
      • 原创:9篇
      • 转载:19篇
      • 译文:0篇
      • 评论:26条
      推荐文章

        最新评论
        03名人专栏
        05-------------
        游戏
        资源下载

      【上篇】
      【下篇】

      作者:

      抱歉!评论已关闭.