实践jbuilder6开发和部署ejb到weblogic6.1
作者:jackliu
e-mail:suntoday@eyou.com
为weblogic或其他应用服务器开发和部署ejb真是麻烦事,更不用说调试跟踪bug,简直是灾难。jbuilder6发版后,决定探究一下jb6对ejb的开发环境的支持与weblogic6应用服务器之间的兼容性,多日摸索下来,栽了几次,也积累了点经验,下面就总结一下,省的大家再吃苦头了。
ejb开发环境实践
在jb6里提供了基于图形化设计的ejb集成开发环境,我尝试了一下从数据库表结构直接映射成ejb的过程,几经周折,效果还算不错,设计好的ejb可以直接发布到weblogic上,只需要你简单的配置即可。下面的一些步骤可斟酌参考:
1. jdbc路径配置 确认你的jdbc路径已经被加载到jb libraries中,如果没有,可以在tools/configure libraries窗口创建一个包名及路径,jb6通过这个路径找到jdbc引擎位置,以便能够让我们在jb6中给出数据库表结构的参考,设置如下图

设置jdbc路径
进入到tools/enterprise setup中,把刚才建立的jdbc路径引用到企业设置中,这样,在每次启动jb6和启动database pilot时,会自动加载这个类路径。设置如下图参考

2. 设置database urls 这一步不是必须的,如果是你经常要参考的一个jdbc url,最好还是给这个url创建一个url连接,以后就可以方便引用了。在tools/database pilot,打开database pilot窗口,选择view/options菜单的drivers选项页,drivers列表中列出的是jbuilder所提供的各类jdbc引擎类名(jb6不一定真的包括其驱动程序,大部分需要你自己配置其路径), 在drivers列表中检查是否有你要的jdbc驱动名,如果没有,则添加上。sample url项是jdbc url的连接测试,你可以把你要连接的数据库url串放到这里。确认后,尝试在database pilot里连接是否正常,如果你刚刚配置了1步骤或许你需要重新启动jb6。

配置数据库连接url
3. 设置weblogic6.1应用服务器 到tools/enterprise setup选项,选择webloic 6.x选项页,配置参考下面的图片:

weblogic 6.1配置参考
jb6在编译时,默认使用了weblogic6.1的ejbc编译打包ejb,如果你不打算使用weblogic的ejbc编译,就可以自己指定编译器在compiler path里。注意在用ejbc编译ejb时,好象对空格识别敏感,所以,你的工程文件路径和文件名如果存在空格就死定了。还有,你需要更改windows系统参数配置,检查temp和tmp目录是否含有空格,如果有,指定一个不含空格的目录,重新启动jb6。
4. 设置工程属性 在project/project properties选项里,打开最后一页servers,如果你打算在当前工程中发布的jsp或servlet由tomcat提供web服务,请不要选择application server is web server这一选项,我建议是:不要选择,如果你的工程里没有ejb,你可以选择tomcat3.2作为webserver,这个3.2版本的tomcat可以很好的为jb6提供jsp即时编译jsp的能力和调试环境,但是如果java bean调用了ejb,并使用了ejb2.0规范,则需要你使用tomcat4.0作为webserver,不过这之间切换非常之简单,所以你可以灵活的运用此项。最主要的就是要为当前工程选择一个application server,点击application servier 右边的按钮,选择weblogic application server 6.x作为application server,参考下图:

工程属性设置
5. 创建一个ejb2.0设计环境 在file/new…中打开对话框,如下图选择创建一个ejb2.0 bean designer,这个designer会提供给我们一个图形化的开发ejb的设计器。
6. 在设计环境创建一个schema 在ejb designer画板中,单击右键,选择import schema from …/database 菜单,选择或填写你要连接的jdbc url,注意把schemas and types选项组中的all schemas选项框选中。如果顺利,jb6会在左下角给出数据库的schemas,如果你打算为某个表创建entity ejb,则可以单击表节点,选择create entity bean即可为你自动创建一个entity ejb,其他就不说了,看着图形和菜单去设计吧。有些遗憾的是,jb6的database schemas在引入时,被初始化数据,不与数据库结构保持同步,所以如果设计完ejb后由更改了库结构,就麻烦了,快速简单的方式是把这个datasource全部删除,然后重新引入一个新的schemas,或在原来的基础上修改表结构,我不建议这末做,在生成dd xml文档时会有一些莫名的bug产生,我一般会删除重新引用,至尽还未遇到这种bug,大家也尽可场尝试。
7. 部署到weblogic里 确认webloic已经启动,如果没有,在左边的项目文件列表中右键单击ejb设计器,选择run,jb6会自动启动weblogic服务。选择你要发布的ejb,首先make成一个包含.class文件、部署描述文件和application辅助类的jar包,然后按deploy …./deploy,这个ejb便自动部署到weblogic中,如果更改了ejb,请使用redeploy选项进行重新部署。我遇到一个问题就是有时报t3协议错误,部署不成功,但打开weblogic控制台后,发现已经部署成功,至今这个问题仍未解决。并且按redeploy或undeploy再deploy,有时不能成功,可能我的环境配置仍然存在问题或是兼容bug。我选择了一个比较愚蠢的方法,使用jb6生成weblogic所需的jar文件,用weblogic的控制台部署,就是比较罗嗦了,长了还算顺手,不知哪位高手已经解决了deploy和redeploy的问题。
闽公网安备 35060202000074号