您的位置:首页 > 其它

死锁教训——连接需要带Connection

2005-08-03 17:20 387 查看
红色部分是以前遗漏的,我已经检查了一下api-level-2-object-action.xml有几处遗漏,都改了。这个文件里调用接口一定要调用带Connection参数的方法,否则就会打开新的事物,造成一个接口打开多个事务
<access serial-no="5.1" name="addUser" return="User" need-composite="true" description="新建用户, 增加用户到组织机构">
<object source="param" type="int" name="organizationID"/>
<object source="param" type="User" name="user"/>
<object source="result" type="User" name="resultUser" return="true"/>
<raw-code>
<line> String loginName=(String)user.getMap().get("LoginName");</line>
<line> User oldUser=getUser(conn, loginName);</line>
<line> if (oldUser!=null) throw new RemoteException("LoginName already exist");</line>
<line> resultUser=super.addUser(conn, user);</line>
<line> int userID=((Integer)resultUser.getMap().get("ID")).intValue();</line>
<line> super.addAppUser(conn, 1, userID);</line><!-- 增加用户,要增加UIM与用户的联系 -->
<line> super.addGroupUser(conn, 1, organizationID, userID);</line>
<!-- 增加用户的话,如果组织机构已经分配给应用系统则增加用户到应用系统 -->
<line> for(Iterator iter=getApplications(conn).iterator(); iter.hasNext();) {</line>
<line> Application application=(Application)iter.next();</line>
<line> int appID=application.getAppID();</line>
<line> if(appID==ConstantsApplication.UIM) continue;</line>
<line> if(isAppGroup(conn, appID, organizationID)) { </line>
<line> addAppUser(conn, appID, userID);</line>
<line> }</line>
<line> }</line>
</raw-code>
</access>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐