我目前用的方法是将这三个*.jar打成一个*.ear包。这样在weblogic下面不用配置任何ref,即可互相访问,如果要配置的话,那么在你的第三个jar中的ejb-jar.xml中做引用:(下面是我的一个例子,在ManageModel.jar中引用了IDSessionSequences和ManageGraph)
<ejb-jar>
<enterprise-beans>
<session>
<display-name>ManageModel</display-name>
<ejb-name>ManageModel</ejb-name>
<home>cn.com.hkgt.pm.ejb.session.ManageModelHome</home>
<remote>cn.com.hkgt.pm.ejb.session.ManageModel</remote>
<local-home>cn.com.hkgt.pm.ejb.session.ManageModelLocalHome</local-home>
<local>cn.com.hkgt.pm.ejb.session.ManageModelLocal</local>
<ejb-class>cn.com.hkgt.pm.ejb.session.ManageModelBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<description />
<ejb-ref-name>ejb/IDSessionSequences</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>cn.com.hkgt.pm.ejb.session.IDSessionSequencesLocalHome</local-home>
<local>cn.com.hkgt.pm.ejb.session.IDSessionSequencesLocal</local>
<ejb-link>IDSessionSequences</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<description />
<ejb-ref-name>ejb/ManageGraph</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>cn.com.hkgt.pm.ejb.session.ManageGraphLocalHome</local-home>
<local>cn.com.hkgt.pm.ejb.session.ManageGraphLocal</local>
<ejb-link>ManageGraph</ejb-link>
</ejb-local-ref>
</session>............
祝成功!
<ejb-jar>
<enterprise-beans>
<session>
<display-name>ManageModel</display-name>
<ejb-name>ManageModel</ejb-name>
<home>cn.com.hkgt.pm.ejb.session.ManageModelHome</home>
<remote>cn.com.hkgt.pm.ejb.session.ManageModel</remote>
<local-home>cn.com.hkgt.pm.ejb.session.ManageModelLocalHome</local-home>
<local>cn.com.hkgt.pm.ejb.session.ManageModelLocal</local>
<ejb-class>cn.com.hkgt.pm.ejb.session.ManageModelBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<description />
<ejb-ref-name>ejb/IDSessionSequences</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>cn.com.hkgt.pm.ejb.session.IDSessionSequencesLocalHome</local-home>
<local>cn.com.hkgt.pm.ejb.session.IDSessionSequencesLocal</local>
<ejb-link>IDSessionSequences</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<description />
<ejb-ref-name>ejb/ManageGraph</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>cn.com.hkgt.pm.ejb.session.ManageGraphLocalHome</local-home>
<local>cn.com.hkgt.pm.ejb.session.ManageGraphLocal</local>
<ejb-link>ManageGraph</ejb-link>
</ejb-local-ref>
</session>............
祝成功!
解决方案 »
- struct中<data-sources>问题
- java的32位MD5加密与php中的32位MD5加密结果不一样。求帮助。急急急
- MINDQUARRY的安装和配置
- 连接数据源
- 关于界面程序+数据业务的应用设计
- 引用<ref/>实例问题。
- 有人搞没搞过apache协同多个tomcat,实现动载平衡,跪求!!!!!!!急。。。。
- 求 Spring 入門的書
- 关于JBoss和hello.war?(不好意思我只有10分)
- 阿里云+windows+svn服务器,外网用户访问不了自己的svn服务器
- 大家看看我的jboss有没有问题!为什么jboss的8083端口出错!(3)接(2)
- 用ejb实现对数据库的操作,需要写sql语句吗,就像 javabean一样的....
如果你是WSAD的话,你只需要在SESSIONC上,加上对CMPA和CMPB的EJB LOCAL REFERENCE就可以了
反正你的third.jar 它将和first.jar、secord.jar放在一个服务器上
我用的是JBuilder,EJB服务器是Jboss3x!第一: a_ja(青藏牦牛):
因为实际的需要我不想将它们放在一个EAR中,因为项目大小的原因,我希望各个EJB Module由不同的人同时开发,非CMP由专人开发,Logic由另外一部分人员开发,我不希望他们想互影响,总之我一想将它们放在一个EAR中发布,由其一些公用的,我同可能有很多的项目在一个Container中运行,它们可能要引用相同的ejb的jar.
这样的话(各个jar独立),我在进行ejb-local-ref时就没法指定ejb-link了,这样发布就出错,因为jboss要求local引用一定要在ejb-jar.xml中指定对应的ejb-link.第二: uu_snow(薇薇) :
其Jb中也有你说的这个功能,但是选中SessionC的DD Editor后,新加Local Refrence 后,我没法找到CMPA与CMPB,因为它跟本不在我的这个ejb moudle中,我不知道WSAD中是否可以直接找到其它EJB moudle中的EJB.第三:accp(accp) :
你说的这种方法是我所不愿看到的,因为我希望EJB 之间的参考是可以配置的,如查通过Hardcode的方法对于以后想变更可能不方便。
=====================
难道就真的没有办法了吗??
双击你的EJB,在右边选中EJB Local Reference,然后Add就行了,所有的项要自己输~
你应该把这些项目的EAR分为WAR+EJB+公用的JAR(如LOG4J)
而你的EJB应该放到一个MODULE里你说的分多人开发不同的东西,这应该是项目管理层面的,或是说是协同工作层面的
而不是在项目的部署中也要这么做