??xml version="1.0" encoding="utf-8" standalone="yes"?>
本h所在项目中Q由于我们的pȝ业务逻辑单独部vQ以下称之ؓEJB层,和普通的WEB层相对独立。从
WEB
层调?/span>
EJB
层,通过
Command
架构Q其包含?/span>
EJB
调用是事务性质的,所以我?/span>
EJB
层再调用其它W三Ҏ供的
EJB
接口Ӟq怼出现一些莫名其妙的错误Q以下略作收集?/span>
1
、错误现象(在被调用?/span>
EJB
服务器屏q上出现Q:
<
<
分析Q?/span>
q种异常是跨域传播事务造成?/span>
.
一定要传播事务的话
,
必须讄域信?/span>
,
没有其他办法
.
但是域信L相关的安全隐?/span>
,
当然对于大部分非关键业务应用来说也无所谓了
.
具体讄Ҏ为,
domain node --> View Domain-wide Security Settings --> Configuration --> Advanced --> Enable Generated Credential -->
?/span>
Credential
中输入密码,两个
domain
的这个密码要完全一_然后重新启动
server
可以了?/span>
2
、错误现象(在调用方?/span>
EJB
屏幕上出玎ͼQ?/span>
<
and.ejb.TaxCommandBean.executeCommand(cn.com.jdls.foundation.architectures.command.commands.BaseCommand)],Xid=BEA1
分析Q?/span>
q种异常是由?/span>
EJB
被调用方Q通常h记忆功能Q对于调用它接口的远E?/span>
EJB
服务和相应的
IP
以及
Port
都会记录在内存,如果下次相同?/span>
EJB
服务来调用它的时候,它就会检内存中?/span>
EJB
服务对应?/span>
IP/Port
是否和当前的实际情况相符Q如果不W的话,׃出现q种错误?/span>
q种情况目前在我?/span>
pȝ中,到的两U典型的案例是Q一Q我们的
EJB
服务器上有双|卡Q本来调?/span>
某第三方
?/span>
EJB
接口很正常,但是有次用了其中一个没插网U的|卡后,出现这U错误,因ؓ被调用方
EJB
服务已经C了我们的
EJB
服务对应?/span>
IP
?/span>
Port
Q二、本来我们的
EJB
服务器,调用另一?/span>
W三?/span>
EJB
接口也很正常Q但是有ơؓ了测试的需要,又在另外一台服务器上,复制了一份完全一Lpȝ环境Q也q接到同一?/span>
W三方EJB
试服务器进行测试,l果后一台调用的时候就出现了这U错误,因ؓ被调用方
EJB
服务已经C了我们的
EJB
服务Q其对应?/span>
IP/Port
应该是前一台服务器?/span>
对于q种情况Q简单的处理办法是Q将被调用方?/span>
EJB
服务重启一下,则它内存中的记录׃清除Q下ơ就会记住最新的
EJB
服务和相应的
IP/Port
?/span>
但是针对我们
pȝ来说Q通常我们pȝ调用的第三方?/span>
EJB
接口Q?/span>
往往不能随便重启
W三?/span>
服务Q所以变通的办法Q就是将要用的我们pȝ中,涉及到?/span>
每个
WEBLOGIC
域服务器对应?/span>
server
名字都改掉,q样被调用方׃会在内存中找到相应的记录Q因此也׃会出现这U莫名的调用出错问题?/span>
同时域根目录下的时目录全部删除,再重新启动服务应该即可生效?br />
以上所q都是本人所在项目碰到的问题Q可能ƈ不一定具有共性,也不全面Q所以大家碰到的莫名其妙的错误,也希望脓出来Q共享看看?/o:p>