Deal All:
I have a sesseion bean like this:
public @Stateless class InventoryMgrBean implements
InventoryMgrLocal,InventoryMgrRemote {
private static Object lock=new Object();
--------------------------------
public NEKey findByNEPK(NEPK nePK) {
NEKey neKey=null;
try{
Query q=em.createQuery("select n from NEKey n where n.wwn=:WWN");
q.setParameter("WWN",nePK._wwn);
neKey=(NEKey)q.getSingleResult();
}catch(NoResultException e){
return null;
}
return neKey;
}
-----------------------------
public NEKey createNEKey(NEPK nePK) {
try {
synchronized (lock) {
NEKey neKey = findByNEPK(nePK);
if (neKey == null) {
neKey = new NEKey();
neKey.setWwn(nePK.get_wwn());
neKey.setIpAddresses(nePK.get_ipAddresses());
neKey.setName(nePK.get_name());
em.persist(neKey);
}
return neKey;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
When multiple-thread try to invoke this createNEKey() method.Exception(JDBC
batch update fail) will be thrown at em.persist(neKey).Class NEKey is entity
bean with ID auto-generated.
Can anyone give some advice?
Great Thanks!
Kingofhawks
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3950020#3950020
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3950020
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user