到目前为止,我听说不建议将同步用于 ejb 会话 bean。
我有一个问题,我通过使用同步解决了。
我使用同步的代码。
if(strBatchID != null && strBatchNumber != null){
pinGenerateSessionBeanLocalHome=getPINGenerateSessionBeanLocalHome();
if(pinGenerateSessionBeanLocalHome != null){
IPINGenerateSessionBeanLocal pinGenerateSessionBean = pinGenerateSessionBeanLocalHome.create();
synchronized(pinGenerateSessionBean){
if(pinGenerateSessionBean != null){
resultObject= pinGenerateSessionBean.generatePIN(pinBatchCustomData,iSessionInfo);
if(resultObject.getResponseCode() == PINResponseCode.SUCCESS_RESPONSE_CODE){
pinBatchCustomData= (PINBatchCustomData)resultObject.getResponseObject();
bSuccess = true;
}else{
bSuccess = false;
debugLog(PIN_MODULE_NAME,"Insertions regarding PINs could not be made successfully ");
}
}else{
bSuccess = false;
debugLog(PIN_MODULE_NAME,"PINGenerateSession Local Is Null ");
}
}
}else{
bSuccess = false;
debugLog(PIN_MODULE_NAME,"PINGenerateSession Local Home Is Null ");
}
}
检查我用来synchronized(pinGenerateSessionBean)
同步 pingeneration 会话 bean 对象的行。
它工作正常。在此之前,当我尝试同时生成两个批次时遇到问题。
它会产生任何问题吗?性能对我来说不是问题。